/home/mjc1/public_html/adm/mail_select_update.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?php
$sub_menu 
"200300";
include_once(
'./_common.php');

auth_check($auth[$sub_menu], 'w');

$html_title '회원메일 발송';

check_demo();

check_token();

include_once(
'./admin.head.php');
include_once(
G5_LIB_PATH.'/mailer.lib.php');

$countgap 10// 몇건씩 보낼지 설정
$maxscreen 500// 몇건씩 화면에 보여줄건지?
$sleepsec 200;  // 천분의 몇초간 쉴지 설정

echo "<span style='font-size:9pt;'>";
echo 
"<p>메일 발송중 ...<p><font color=crimson><b>[끝]</b></font> 이라는 단어가 나오기 전에는 중간에 중지하지 마세요.<p>";
echo 
"</span>";
?>

<span id="cont"></span>

<?php
include_once('./admin.tail.php');
?>

<?php
flush
();
ob_flush();

$ma_id trim($_POST['ma_id']);
$select_member_list trim($_POST['ma_list']);

//print_r2($_POST); EXIT;
$member_list explode("\n"conv_unescape_nl($select_member_list));

// 메일내용 가져오기
$sql "select ma_subject, ma_content from {$g5['mail_table']} where ma_id = '$ma_id' ";
$ma sql_fetch($sql);

$subject $ma['ma_subject'];

$cnt 0;
for (
$i=0$i<count($member_list); $i++)
{
    list(
$to_email$mb_id$name$nick$datetime) = explode("||"trim($member_list[$i]));

    
$sw preg_match("/[0-9a-zA-Z_]+(\.[0-9a-zA-Z_]+)*@[0-9a-zA-Z_]+(\.[0-9a-zA-Z_]+)*/"$to_email);
    
// 올바른 메일 주소만
    
if ($sw == true)
    {
        
$cnt++;

        
$mb_md5 md5($mb_id.$to_email.$datetime);

        
$content $ma['ma_content'];
        
$content preg_replace("/{이름}/"$name$content);
        
$content preg_replace("/{닉네임}/"$nick$content);
        
$content preg_replace("/{회원아이디}/"$mb_id$content);
        
$content preg_replace("/{이메일}/"$to_email$content);

        
$content $content "<hr size=0><p><span style='font-size:9pt; font-familye:굴림'>▶ 더 이상 정보 수신을 원치 않으시면 [<a href='".G5_BBS_URL."/email_stop.php?mb_id={$mb_id}&amp;mb_md5={$mb_md5}' target='_blank'>수신거부</a>] 해 주십시오.</span></p>";

        
mailer($config['cf_admin_email_name'], $config['cf_admin_email'], $to_email$subject$content1);

        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";
    }
}
?>
<script> document.all.cont.innerHTML += "<br><br>총 <?php echo number_format($cnt?>건 발송<br><br><font color=crimson><b>[끝]</b></font>"; document.body.scrollTop += 1000; </script>