카페24 대량메일 관련해서 문의드립니다. 채택완료
codribble
7년 전
조회 2,524
카페24 대량메일 이용중인데
카페24 대량메일 db연동 매뉴얼에 php예제를 그대로 가져와서
php구문을 그누보드화(?) 시켜서 어찌어찌 연동은 시켰는데
실제 발송용과 같은 조건으로 작성해주세요 <- 라는 문구가 있습니다.
</p>
<p><?php
include_once('./_common.php');</p>
<p>if ($_POST['key'] == "코드번호") //인증코드
{
$sql_common = " from {$g5['member_table']}";
$sql_where = " where(1) ";</p>
<p> // 메일수신동의한 회원만 가져옴
$sql_where .= " and mb_mailling = '1' ";</p>
<p> // 탈퇴, 차단한 회원은 제외
$sql_where .= " and mb_leave_date = '' and mb_intercept_date = '' ";</p>
<p>
if ($_POST['testmode'] == 1) {
$sql = " select count(*) as cnt {$sql_common} {$sql_where}";
$result = sql_query($sql);</p>
<p> //$result = mysql_query("select count(*) as cnt from {$g5['member_table']}"); 기존 구문
// 연동 테스트용, 받는 사람 총수 쿼리. <strong><span style="color:#e74c3c">실제 발송용과 같은 조건으로 작성</span></strong>해주세요</p>
<p> if ($result)
{
$data = sql_fetch_array($result);
echo $data['cnt'];
}
} else {
$sql = " select mb_id, mb_name, mb_email {$sql_common}";
$result = sql_query($sql);
//$result = mysql_query("select mb_id, mb_name, mb_email from {$g5['member_table']}"); 기존 구문
// 실제 발송용 쿼리 , 핸드폰, 기타1, 기타....</p>
<p> if ($result)
{
while ($row = sql_fetch_array($result)) {
echo $row['mb_name'].",".$row['mb_email'].",,".$row['mb_id']; //,".$row['핸드폰'].",".$row['기타1']...기타(최대 10개);
// 출력 순서는 이름, 이메일, 핸드폰, 기타 순으로 하셔야 합니다.
//사용하실 회원정보의 필드명을 각각 입력해주시면 됩니다. 이름, 이메일은 필수정보입니다.
echo "\n";
}
}
sql_free_result($result);
}</p>
<p> //mysql_close($conn);
}
else {
exit;
}
?></p>
<p>
이렇게 수정해서 사용중입니다...
그런데 정작 대량메일을 보내보면 메일 작성시 불러오는 회원(위에 메일수신동의한 회원만 + 탈퇴회원 제외) 수와 실제 발송된 회원(전체 회원) 수가 달라서 카페24측에 문의를 남겼더니
테스트모드 1과 0의 리턴값을 같게 해야한다는 답변을 받았습니다...ㅠㅠㅠ
혹시 저 상태에서 리턴값을 맞추기위해 실제 발송용과 조건을 같게하려면 어디에 mb_id, mb_email, mb_name 을 넣어줘야 하나요..??
개발자가 아니다보니 어찌어찌 저기까지는 했는데...
리턴값을 같게 하라는 말만 듣고서는 ['testmode'] == 1 부분에
$sql = " select count(*) as cnt, mb_id, mb_name, mb_email {$sql_common} {$sql_where}";
이렇게 추가 해봤는데 연동이 성공하기는 하는데 정확한 구문을 도움받고자 문의 남깁니다ㅠㅠㅠ
오늘 드디어 조별리그 첫 경기인데 화이팅!하길 바라며...
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
답변을 작성하려면 로그인이 필요합니다.
로그인
실제 발송용 쿼리문에도 count(*)를 써서 동일하게 맞춰주라네요...
그래서 아래 쿼리문에도 그냥 복붙해서
$sql = " select count(*) as cnt, mb_id, mb_name, mb_email {$sql_common} {$sql_where}";
이걸 넣어줬는데 연동은 성공했다고 뜨는데...
테스트 발송 해보고싶은데 테스트 발송하면 회원들한테 다 가는거 아닌가싶어서 못보내겠네요...
연동테스트 쿼리문이랑 실제 발송용 쿼리문을 같게 설정해버려서...ㅠㅠㅠ