我之前问过一个类似的问题,但上下文发生了一些变化。我想用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);
Gmail SMTP服务器只允许您使用正在使用的电子邮件地址发送邮件。因此,如果您使用配置Symfony
mailer_transport: gmail
mailer_user: myemail@gmail.com
mailer_password: ******
您的所有信息,我们将看起来像是来自myemail@gmail.com
你可以做的也许是使用另一个smtp服务器,它在允许的From地址类型上更灵活。如果你在本地开发服务器上,你可以使用ISP的SMTP服务器,或者使用各种电子邮件作为服务提供商,如Sendgrid、Mailjet或postmarkapp
它们都允许您在经过一些配置步骤后,从任何可以证明所有权的地址发送消息。
如果你真的想使用gmail-smtp服务器,有一件事可能也值得一试,那就是在你的"将邮件发送为"gmail配置中定义你的发件人地址(在设置->帐户中)。这将允许您的应用程序使用From:
字段中配置的地址发送电子邮件。