带有swiftmailer和Symfony 2的电子邮件头


Emails headers with swiftmailer and Symfony 2

我之前问过一个类似的问题,但上下文发生了一些变化。我想用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:字段中配置的地址发送电子邮件。