Laravel 邮件在添加密件抄送时会发送两次电子邮件
Posted
技术标签:
【中文标题】Laravel 邮件在添加密件抄送时会发送两次电子邮件【英文标题】:Laravel mail is sending email twice when added bcc 【发布时间】:2018-06-17 11:41:46 【问题描述】:我正在尝试使用 Bcc 发送电子邮件,但我注意到 SwiftMailer 发送了两次电子邮件(一次使用 Bcc,另一次没有 Bcc),我删除了密件抄送它工作正常,没有重复的邮件。
mailController.php
class mailController extends Mailable
use Queueable, SerializesModels;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct()
/**
* Build the message.
*
* @return $this
*/
public function build()
return $this->from('test@gmail.com', 'test')
->view('portal.confirmation')
->subject('test Email')
->bcc('email@gmail.com','wahdan');
.env
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
更新
此问题仅在本地环境中发生,但在生产环境中运行完美,没有任何重复的电子邮件。
【问题讨论】:
Check this article @user2486 不幸的是它没有帮助 您提供的那段代码没有帮助。除此之外,我认为 mailController 不应该扩展 Mailable。 根据 Laravel 文档,任何邮件控制器都在扩展 Mailable 类,还有什么其他信息我应该添加到我的问题中? @wahdan 您是否为您的config/mail.php
设置了Universal To?
【参考方案1】:
如果您密件抄送一封电子邮件并通过 mailtrap.io 发送,您将在邮箱中收到两份电子邮件副本。如果有两个密件抄送,您将收到三份副本等。电子邮件看起来相同(包括“收件人:”)。
此行为特定于 mailtrap.io,而不是 Laravel(即它不在发送端)。
如果重复邮件的数量与密件抄送的数量加上原始邮件的数量相同,我想你可以确信这是原因。
此答案假定您在本地使用 mailtrap.io 作为您的 SMTP 服务器,而不是在生产中。
【讨论】:
是的,我之前注意到了,但我忘了添加我的答案,谢谢 当您在 Mailtrap 中打开“原始”版本时,您可以看到作为“密件抄送”发送的副本。 @SCruz 我收到超过 1 个副本? mailhog 对我来说也是如此。 对我来说同样适用于 aws ses。但是,当我在本地尝试时,它工作正常,但是当我在 ubuntu ec2 服务器中尝试时,它发送了两次以上是关于Laravel 邮件在添加密件抄送时会发送两次电子邮件的主要内容,如果未能解决你的问题,请参考以下文章
无法通过 Mandrill 发送密件抄送电子邮件(通过 Laravel)