Yii2 SwiftMailer发送邮件两次
问题描述:
我为足球迷写了一个游戏。所以,我必须发送类似的邮件给一群人(不完全复制的电子邮件副本)。 当我发送邮件的周期 - Yii框架发送邮件两次。 我想 - 这是因为静态变量Yii :: $ app。 有人可以给我一个提示,请。例如,代码为 。Yii2 SwiftMailer发送邮件两次
foreach ($oRace->user as $currUser) {
$htmlContent = $this->renderPartial('start_race', ['oRace' => $oRace]);
Yii::$app->mailer->compose()
->setFrom('[email protected]')
->setTo($currUser->mail)
->setSubject('Race "' . $raceName . '" has Started')
->setHtmlBody($htmlContent)
->send();
}
非常感谢!
我的邮件配置。
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
'useFileTransport' => false,
'transport' => [
'class' => 'Swift_SmtpTransport',
'host' => 'mail.example.eu',
'username' => '[email protected]',
'password' => 'password',
'port' => '587',
'encryption' => 'TLS',
]
],
还有一件事。周期中的最后一封邮件从不重复(只有最后一封)。
另一个失败的选项。 Yii :: $ app-> mailer-> sendMultiple($ allMails);
答
从提供的代码片段中,有3个可能的原因。或者:
-
$oRace->user
包含了每一个用户的两倍 -
$currUser->mail
包含电子邮件两次一样`[email protected]; [email protected]” - 什么是错的SwiftMailer
可能是您的代码中的一些逻辑错误导致您收到了2封邮件 –
检查$ oRace的内容 – scaisEdge
我做了很多测试一切看起来都不错我可以得到一个单独的邮件类实例 – koredalin