使用php发送许多动态生成的电子邮件

时间:2014-02-22 09:44:33

标签: php ajax email phpmailer swiftmailer

我有一个脚本:invoice.php?id=12,以pdf格式生成发票,并通过电子邮件将其发送给ID = $_GET['id']的客户。

现在,在销售结束后,我想立即向所有客户发送电子邮件,我不知道该怎么做。

生成一个pdf并通过电子邮件发送大约需要3-4秒,而且会有数百甚至数千个客户。

我正在使用SwiftMailer PHP库,如果这是相关的。

知道我该怎么做吗? 有没有办法循环几个小时的Ajax请求? 或者是否有更简单的解决方案?

谢谢!

1 个答案:

答案 0 :(得分:0)

如果我正确理解您的问题,您就会针对您要发送的每封电子邮件发起一个AJAX请求。通过在邮件头中指定多个接收者,将1封电子邮件发送给很多人,效率会高得多,如下所示:

$email_to = "first@email.com,some@other.com,yet@another.net";

对于SwiftMailer,试试这个:

$message = Swift_Message::newInstance('Wonderful Subject')
    ->setFrom(array('your@mail.com' => 'John Doe'))
    ->setTo(array('receiver@domain.org', 'other@domain.org' => 'Name'))
    ->setBody('Here is the message itself')
;