我记得前几天有人说了,这东要在终端执行,还有就是用第三方的邮箱,我记得都短时间内发不了几千封,多了肯定要被禁;
终端执行就没有超时一说,什么时候执行完,什么时候进程退出。如果用laravel,简单用artisan新建一个command就行,tp不清楚,应该也有类似的吧。
就一个个发,我2s发一个,2500,能发多久?哪用这么纠结。
哪怕没用larvel或者tp,就一个php单文件,里面连接数据库,查出没发送的人,一个个发送。用php index.php
慢慢发,也就行了,不要想那么复杂,毕竟才2500...
红米Note7 高配版(黑色)
唯一可能成为你瓶颈是就是使用第三方的邮箱来发送,短时间发多了,肯定给你封
红米Note7 高配版(黑色)
<?php
require 'phpmailer/class.phpmailer.php';
try {
$mail = new PHPMailer(true);
$mail->IsSMTP();
$mail->CharSet='UTF-8'; //设置邮件的字符编码,这很重要,不然中文乱码
$mail->SMTPAuth = true; //开启认证
$mail->Port = 465;
$mail->Host = 'ssl://smtp.126.com';
$mail->Username = '[email protected]';
$mail->Password = '邮箱密码';
//$mail->IsSendmail(); //如果没有sendmail组件就注释掉,否则出现“Could not execute: /var/qmail/bin/sendmail ”的错误提示
$mail->AddReplyTo('[email protected]','骁亿');//回复地址
$mail->From = '[email protected]';
$mail->FromName = '骁亿';
/*
foreach($result_mails as $index){//循环收件人数组,添加多个收件人
$mail->AddAddress($index);
};
*/
//多个收件人,一行一个
$mail->AddAddress('[email protected]');
$mail->AddAddress('[email protected]');
$mail->Subject = "这是一封测试邮件";
$mail->Body = "<p>这是一封测试邮件</p>";
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; //当邮件不支持html时备用显示,可以省略
$mail->WordWrap = 80; // 设置每行字符串的长度
//$mail->AddAttachment("f:/test.png"); //可以添加多个附件,同上
$mail->IsHTML(true);
$mail->Send();
echo '邮件已发送';
} catch (phpmailerException $e) {
echo "邮件发送失败:".$e->errorMessage();
}
。。。。。。