카페24 대량메일 관련해서 문의드립니다.
본문
카페24 대량메일 이용중인데
카페24 대량메일 db연동 매뉴얼에 php예제를 그대로 가져와서
php구문을 그누보드화(?) 시켜서 어찌어찌 연동은 시켰는데
실제 발송용과 같은 조건으로 작성해주세요 <- 라는 문구가 있습니다.
<?php
include_once('./_common.php');
if ($_POST['key'] == "코드번호") //인증코드
{
$sql_common = " from {$g5['member_table']}";
$sql_where = " where(1) ";
// 메일수신동의한 회원만 가져옴
$sql_where .= " and mb_mailling = '1' ";
// 탈퇴, 차단한 회원은 제외
$sql_where .= " and mb_leave_date = '' and mb_intercept_date = '' ";
if ($_POST['testmode'] == 1) {
$sql = " select count(*) as cnt {$sql_common} {$sql_where}";
$result = sql_query($sql);
//$result = mysql_query("select count(*) as cnt from {$g5['member_table']}"); 기존 구문
// 연동 테스트용, 받는 사람 총수 쿼리. 실제 발송용과 같은 조건으로 작성해주세요
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, 기타....
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);
}
//mysql_close($conn);
}
else {
exit;
}
?>
이렇게 수정해서 사용중입니다...
그런데 정작 대량메일을 보내보면 메일 작성시 불러오는 회원(위에 메일수신동의한 회원만 + 탈퇴회원 제외) 수와 실제 발송된 회원(전체 회원) 수가 달라서 카페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
구문을 같게하려면,
아래의 구문을 그대로 textmode에도 넣으셔야 하구요.
회원수가 다른 이유는
아래 쿼리문에 {$sql_where} 가 빠져서 그런것 같네요.
$sql = " select mb_id, mb_name, mb_email {$sql_common} {$sql_where} ";