채택완료

메일발송시 나눠서 발송하는방법

2015-05-15 (금) 09:02:26 5,406

메일을 1000건씩 끈어서 발송하려고하는데요 

선택된회원이 1만명일경우 어던식으로 돌려야하는지 고수님들부탁드립니다.

mail_select_update.php 에 적용해야될거같은데방법을모르겟네요 

Copy
<?php$sub_menu = "200300";$countgap = 5; // 몇건씩 보낼지 설정$maxscreen = 500; // 몇건씩 화면에 보여줄건지?$sleepsec = 300;  // 천분의 몇초간 쉴지 설정  //                  중  략 mailer($config['cf_admin_email_name'], $config['cf_admin_email'], $to_email, $subject, $content, 1);         echo "<script> document.all.cont.innerHTML += '$cnt. $to_email ($mb_id : $name)<br>'; </script>\n";        //echo "+";        flush();        ob_flush();        ob_end_flush();        usleep($sleepsec);        if ($cnt % $countgap == 0)        {            echo "<script> document.all.cont.innerHTML += '<br>'; document.body.scrollTop += 1000; </script>\n";        }         // 화면을 지운다... 부하를 줄임        if ($cnt % $maxscreen == 0)            echo "<script> document.all.cont.innerHTML = ''; document.body.scrollTop += 1000; </script>\n";    }}?>
 

답변 4개

채택된 답변
+20 포인트
2015-05-15 (금) 13:59:16

<?php

$list = sql_query("select * from g5_mail_list where is_send = 'N' limit 1000 ");

for($i=0;$row=sql_fetch_array($list);$i++){

mail send;

sql_query("update g5_mail_list set is_send = 'Y' where mail_id = '{$row[mail_id]}' "); 

}

$no = sql_fetch("select count(*) cnt from g5_mail_list where is_send = 'N' ");

if($no[cnt]){

page_reload;; 

}else{

 end 

}

?>

이정도면 되나요??? 

한번적용해보겟습니다. 감사함니다.

발송 리스트 db​화는 원래생각햇엇는데 실력이안되서,,,,

힌트점주세요.ㅎㅎ

2015-05-15 (금) 09:51:49

발송 리스트를 db화 하신 담에

1000건 발송하고  

발송 페이지 리로드

미발송건 중1000건 발송하고  

발송페이지 리로드

미발송건 중1000건 발송하고  

발송페이지 리로드

..... 

저는 이렇게 처리합니다. ^^

더 좋은 방법 있으신 분 계신가요? 

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