테스트 사이트 - 개발 중인 베타 버전입니다

카페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개

채택된 답변
+20 포인트
e
7년 전

구문을 같게하려면,

아래의 구문을 그대로 textmode에도 넣으셔야 하구요.

회원수가 다른 이유는

아래 쿼리문에 {$sql_where} 가 빠져서 그런것 같네요.

$sql = " select mb_id, mb_name, mb_email {$sql_common} {$sql_where} ";

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

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

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

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

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

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

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

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

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인