2012-03-02 113 views
2

我剛纔問了一個類似的問題,但上下文有所變化。我想使用swiftmailer在Symfony 2中發送電子郵件。問題是我使用的是Gmail郵件服務器,所以當我的郵件到達時,我的電子郵件客戶端會顯示它來自gmail.com,而不是mydomain.com。我怎樣才能解決這個問題?swiftmailer和Symfony 2的電子郵件標題

$message = \Swift_Message::newInstance() 
     ->setSubject('Hello Email') 
     ->setFrom(array('[email protected]' => "Digest")) 
     ->setSender(array('[email protected]' => "Digest")) 
     ->setCharset('iso-8859-1') 
     ->setContentType('text/html') 
     ->setTo('[email protected]') 
     ->setBody($this->renderView('email.html.twig', array())); 

$this->get('mailer')->send($message); 
+0

如果我是正確的,gmail不允許發送與gmail不同的域的郵件。我想對垃圾郵件發送者進行限制。如果你想讓某人回覆其他域,你可以添加'$ message-> setReplyTo('[email protected]')並返回路徑頭:'$ headers-> addTextHeader('Return-Path','new .email @ example.com');' – piotrekkr 2012-03-02 07:43:55

+0

您無法設置'Return-Path',傳遞代理負責設置此標頭。 – tripleee 2012-03-02 08:57:14

回答

1

Gmail SMTP服務器僅允許您使用您身份驗證的電子郵件地址發送郵件。所以,如果你有

mailer_transport: gmail 
mailer_user: [email protected] 
mailer_password: ****** 

所有的郵件配置的Symfony,我們會像他們從[email protected]

是什麼你也許可以做的是使用另一個SMTP服務器是在類型從地址更靈活他們會允許的。如果你是一個本地開發服務器上,你可以使用你的ISP的SMTP服務器,或使用各種電子郵件作爲服務提供商,如SendgridMailjetpostmarkapp

他們都允許你從任何地址發送郵件經過一些配置步驟後,您可以證明擁有權。

如果您真的想使用Gmail郵件服務器,可能值得嘗試的一件事是在您的「發送郵件爲」Gmail配置(在設置 - >帳戶中)中定義您的發件人地址。這會讓您的應用使用From:字段中配置的地址發送電子郵件。

+0

即可解答。多謝,夥計。 – CaptainStiggz 2012-03-02 23:06:53