카페24 대량메일 관련해서 문의드립니다.

카페24 대량메일 관련해서 문의드립니다.

QA

카페24 대량메일 관련해서 문의드립니다.

답변 1

본문

카페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} ";

답변 감사합니다... 카페24에도 똑같은 문의글을 남겼는데

실제 발송용 쿼리문에도 count(*)를 써서 동일하게 맞춰주라네요...

그래서 아래 쿼리문에도 그냥 복붙해서

$sql = " select count(*) as cnt, mb_id, mb_name, mb_email {$sql_common} {$sql_where}";

이걸 넣어줬는데 연동은 성공했다고 뜨는데...

테스트 발송 해보고싶은데 테스트 발송하면 회원들한테 다 가는거 아닌가싶어서 못보내겠네요...

연동테스트 쿼리문이랑 실제 발송용 쿼리문을 같게 설정해버려서...ㅠㅠㅠ

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 214
© SIRSOFT
현재 페이지 제일 처음으로