我之前问了一个类似的问题,但背景有所改变。我想使用swiftmailer在Symfony 2中发送电子邮件。问题是我正在使用gmail SMTP服务器,所以当我的消息到达时,我的电子邮件客户端会从gmail.com而不是mydomain.com显示它。我该如何解决这个问题?
$message = \Swift_Message::newInstance()
->setSubject('Hello Email')
->setFrom(array('digest@mydomain.com' => "Digest"))
->setSender(array('digest@mydomain.com' => "Digest"))
->setCharset('iso-8859-1')
->setContentType('text/html')
->setTo('myemail@gmail.com')
->setBody($this->renderView('email.html.twig', array()));
$this->get('mailer')->send($message);
答案 0 :(得分:1)
Gmail SMTP服务器仅允许您使用您正在进行身份验证的电子邮件地址发送邮件。因此,如果您使用
配置Symfonymailer_transport: gmail
mailer_user: myemail@gmail.com
mailer_password: ******
我们看到的所有邮件都来自myemail@gmail.com
你可以做的是使用另一个smtp服务器,它在允许的From地址类型中更灵活。如果您在本地开发服务器上,则可以使用ISP的SMTP服务器,或使用各种电子邮件之一作为服务提供商,例如Sendgrid,Mailjet或postmarkapp
在完成一些配置步骤后,它们都允许您从任何可以证明其所有权的地址发送消息。
如果您真的想使用gmail smtp服务器,还有一件事值得尝试,就是在“发送邮件为”Gmail配置中定义您的发件人地址(在设置 - >帐户中)。这会让您的应用使用From:
字段中配置的地址发送电子邮件。