如果討論區會員數過多可能超過幾千或幾萬人像貴站就有3萬多人\r
不管使用SMTP或者sendmail寄信都有可能會因為發信主機限制一次發信人數的限制而無法發信給會員\r
查看一下admin_mass_email.php這個檔案在122行
代碼: 選擇全部
for ($i = 0; $i < count($bcc_list); $i++)
{
$emailer->bcc($bcc_list[$i]);
}那可能會遇到上述所說的主機可能會有限制發信人數而無法發送
本人有下面小小建議僅供討論區會員人數過多無法發信的問題
將發信筆數從全部會員改成特定數量發信
當到達所設定的發信數量時或者到達名單最後一未會員時發信
這樣應該能達到各發信主機所要求的設定值\r
打開admin/admin_mass_email.php 在122行
-----------找尋-----------
代碼: 選擇全部
for ($i = 0; $i < count($bcc_list); $i++)
\n {
$emailer->bcc($bcc_list[$i]);
}
$email_headers = 'X-AntiAbuse: Board servername - ' . $board_config['server_name'] . "
";
$email_headers .= 'X-AntiAbuse: User_id - ' . $userdata['user_id'] . "
";
$email_headers .= 'X-AntiAbuse: Username - ' . $userdata['username'] . "
";
$email_headers .= 'X-AntiAbuse: User IP - ' . decode_ip($user_ip) . "
";
$emailer->use_template('admin_send_email');
$emailer->email_address($board_config['board_email']);
$emailer->set_subject($subject);
$emailer->extra_headers($email_headers);
$emailer->assign_vars(array(
'SITENAME' => $board_config['sitename'],
'BOARD_EMAIL' => $board_config['board_email'],
'MESSAGE' => $message)
);
$emailer->send();
$emailer->reset();代碼: 選擇全部
$I_Send = 1;
$Z_Send = 250;//每次寄信的數量
$A_Send = count($bcc_list);//寄信總量
for ($i = 0; $i < count($bcc_list); $i++)
{
$Y_Send = $I_Send % $Z_Send;//判斷是否到達寄信數量
$emailer->bcc($bcc_list[$i]);
if ($Y_Send == 0 || $I_Send == $A_Send){//判斷是否到達寄信數量或者到達最後一位使用者
$email_headers = 'X-AntiAbuse: Board servername - ' . $board_config['server_name'] . "
";
$email_headers .= 'X-AntiAbuse: User_id - ' . $userdata['user_id'] . "
";
$email_headers .= 'X-AntiAbuse: Username - ' . $userdata['username'] . "
";
$email_headers .= 'X-AntiAbuse: User IP - ' . decode_ip($user_ip) . "
";
$emailer->use_template('admin_send_email');
$emailer->email_address($board_config['board_email']);
$emailer->set_subject($subject);
$emailer->extra_headers($email_headers);
$emailer->assign_vars(array(
'SITENAME' => $board_config['sitename'],
'BOARD_EMAIL' => $board_config['board_email'],
'MESSAGE' => $message)
);
$emailer->send();
$emailer->reset();
}
$I_Send = $I_Send+1;
}


