php – SwiftMailer批量电子邮件时间我的服务器
发布时间:2020-12-13 17:13:04 所属栏目:PHP教程 来源:网络整理
导读:我意识到batchEmail不再是新 SwiftMailer的一部分.所以我制作了这个剧本: ?//// GC PRESS EMAILER v5//ini_set('display_errors',1);error_reporting(E_ALL);require_once("config.php");include_once("hawkmail/mail/lib/swift_required.php");$c=mysql_co
我意识到batchEmail不再是新
SwiftMailer的一部分.所以我制作了这个剧本:
<? // // GC PRESS EMAILER v5 // ini_set('display_errors',1); error_reporting(E_ALL); require_once("config.php"); include_once("hawkmail/mail/lib/swift_required.php"); $c=mysql_connect($dbh,$dbu,$dbp); function SendEmail(){ // DB $s=mysql_query("SELECT * FROM `newgc`.`press_list`"); // Process Color Listing Loop while($r=mysql_fetch_array($s)){ // ########################### // START LOOP // ########################### $name=$r['name']; $email=$r['email']; $to=array(''.$email.''=>''.$name.''); include("hawkmail/templates/press.php"); # Email subject $str=$name; $str=substr($str,strrpos($str,' ')); $subject='Dear '.$str.',you are invited to our Exclusive Party Collection Press Day!'; # send message include("hawkmail/settings.php"); } // ########################### // END LOOP // ########################### } SendEmail(); ?> 该数据库有200条记录.然后我运行了脚本,然后发送了几封电子邮件然后超时
名称和电子邮件记录就像 约翰·史密斯 很朴实.我的hawkmail / settings.php是这样的: # mail $smpturl="smtp.sendgrid.net"; $mailu="sitesitesite"; $mailp="sitessssssssssss"; $from=array("no-reply@site.com"=>"site.com"); # login credentials & setup Swift mailer parameters $transport=Swift_SmtpTransport::newInstance($smpturl,587); $transport->setUsername($mailu); $transport->setPassword($mailp); $swift=Swift_Mailer::newInstance($transport); # create a message (subject) $message=new Swift_Message($subject); # attach the body of the email $message->setFrom($from); $message->setBody($html,'text/html'); $message->setTo($to); $message->addPart($text,'text/plain'); # actually send the message if($recipients=$swift->send($message,$failures)){}else{} 反正有没有增加PHP超时的限制(我使用Ubuntu和Nginx)或者是否有替代BatchMail()真的不明白为什么它被删除. 有人可以使用新的swiftmailer发布批量邮件脚本的示例吗? 解决方法
发送电子邮件是在线进行的最复杂的事情.
它是第二使用最多的服务,也是滥用最多的服务. 我建立了自己的自定义电子邮件平台来发送批量电子邮件. 您遇到的超时是因为Apache和PHP执行限制. 您需要使用set_time_limit(0)将其作为CLI应用程序运行; php /path/to/app/script.php在控制台中就是这样. 如果您没有SSH访问权限,请使用shell_exec运行它,如下所示: shell_exec("php /path/to/app/script.php > /dev/null 2>/dev/null &"); 这将确保调用它的脚本在完成之前不会挂起. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |