我具有以下发送批处理电子邮件的功能
public function sendAttendeeEmails(Swift_Plugins_DecoratorPlugin $decorator, int $per_emails = 5, int $pause = 5) : int
{
$this->mailer->registerPlugin($decorator)
// ->registerPlugin(new \Swift_Plugins_AntiFloodPlugin($pre_emails, $pause))
// ->registerPlugin(new \Swift_Plugins_ThrottlerPlugin(
// $per_emails, \Swift_Plugins_ThrottlerPlugin::MESSAGES_PER_MINUTE
// ))
;
array_walk($this->getAttendees(), [ $this, 'sendEmail' ]);
return empty($this->failed)? $this->sent : -1;
}
在我的“ sendEmail”功能中
protected function sendEmail($recipient, $email) {
$message = new Swift_Message();
$
$message->attach(
Swift_Attachment::fromPath(
ASSETS_FOLDER . "/{$recipient['code']}.pdf",
'application/pdf'
)->setFilename("{$recipient['code']}-attachment.pdf")
);
$this->message->setTo([ $email => $recipient['name']]);
$this->sent = $this->mailer->send($this->message, $this->failed);
}
基于文档
从提供的运输之一创建运输- Swift_SmtpTransport,Swift_SendmailTransport或其中之一 运输。使用以下命令创建Swift_Mailer类的实例 作为其构造函数参数进行传输。创建一条消息。重复 通过收件人,并通过send()方法发送消息 邮件对象。
但是,在执行功能时,似乎将附件和电子邮件地址添加到后续电子邮件中
我的理解是消息和电子邮件地址将唯一发送
我需要给每个人发送一个特定的附件,而又彼此不知道