使用swiftmailer和Symfony 2发送电子邮件标题

时间:2012-03-02 04:45:45

标签: php email symfony swiftmailer

我之前问了一个类似的问题,但背景有所改变。我想使用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);

1 个答案:

答案 0 :(得分:1)

Gmail SMTP服务器仅允许您使用您正在进行身份验证的电子邮件地址发送邮件。因此,如果您使用

配置Symfony
mailer_transport: gmail
mailer_user: myemail@gmail.com
mailer_password: ******

我们看到的所有邮件都来自myemail@gmail.com

你可以做的是使用另一个smtp服务器,它在允许的From地址类型中更灵活。如果您在本地开发服务器上,则可以使用ISP的SMTP服务器,或使用各种电子邮件之一作为服务提供商,例如SendgridMailjetpostmarkapp

在完成一些配置步骤后,它们都允许您从任何可以证明其所有权的地址发送消息。

如果您真的想使用gmail smtp服务器,还有一件事值得尝试,就是在“发送邮件为”Gmail配置中定义您的发件人地址(在设置 - >帐户中)。这会让您的应用使用From:字段中配置的地址发送电子邮件。