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

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

QA

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

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

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

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

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

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

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

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

답변을 작성하시기 전에 로그인 해주세요.
전체 123,478 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT