【发布时间】:2016-03-17 15:01:16
【问题描述】:
我想要一个通过 cron 处理的电子邮件队列,每 30 秒发送一次电子邮件,将发送的电子邮件限制为 100 封。swiftmailer 文档没有明确说明如何在单个 SMTP 连接中完成此操作.我知道我基本上需要重置所有消息和附件参数,但希望获得有关循环位置和循环内容的建议。
例如,我是否需要为每封电子邮件创建一个新邮件:
$transport = Swift_SmtpTransport::newInstance( $params['smtp_host'], $params['smtp_port'] )
->setUsername( $params['smtp_user'] )
->setPassword( $params['smtp_pass'] );
foreach( $emails as $email ){
$mailer = Swift_Mailer::newInstance( $transport );
//...
$this->reset();
}
或者可以将同一个邮件程序用于多封不相关的电子邮件吗?我是否真的需要为每封电子邮件使用新的传输方式:
foreach( $emails as $params ){
$transport = Swift_SmtpTransport::newInstance( $params['smtp_host'], $params['smtp_port'] )
->setUsername( $params['smtp_user'] )
->setPassword( $params['smtp_pass'] );
$mailer = Swift_Mailer::newInstance( $transport );
//...
$this->reset();
}
我在网上的任何地方都找不到这样的例子。
编辑: 根据我自己的测试,我似乎需要为每封电子邮件创建一个新的传输实例。这是真的,还是我做错了什么?
【问题讨论】:
标签: php email swiftmailer