2015-12-14 121 views
2

我在symfony項目(版本2.3.35)中工作,我無法在生產環境中發送電子郵件。除了在生產環境中,郵件在其他環境中完美髮送。我無法在生產環境中發送電子郵件

舉例來說,當我通過命令行發送電子郵件: 這項工作:

php app/console swiftmailer:email:send --env=dev 

但是,這並不工作:

php app/console swiftmailer:email:send --env=prod 

結果上是相同的:

From: [email protected] 
To: [email protected] 
Subject: lorem ipsum 
Body: lorem ipsum 
Sent 1 emails 

但與--env = prod選項我沒有收到任何電子郵件。

我試過設置參數.yml和config.yml幾百次,就像this post一樣,但它仍然不起作用。

應用/配置/ config.yml

swiftmailer: 
    transport: %mailer_transport% 
    host:  %mailer_host% 
    username: %mailer_username% 
    password: %mailer_password% 
    spool:  { type: memory } 

應用/配置/ parameters.yml

mailer_transport: gmail 
mailer_host: smtp.gmail.com 
mailer_username: [email protected] 
mailer_password: apswd 

除了:

  • 的prod.log和DEV .log沒有關於swiftmailer的任何錯誤。

有什麼建議嗎?

在此先感謝。

編輯: 在項目所在存儲在服務器(Ubuntu服務器12.04),我可以發送使用命令行電子郵件或通過使用腳本PHP(用mail()函數)。兩者都很完美。

的解

我終於通過使用解決了這個問題:

php app/console cache:clear --env=prod 

我不知道爲什麼,但這個命令已經解決了這個問題。在此命令之後,電子郵件從生產環境中完美髮送。

感謝大家。

+0

你檢查了你的主機?他們可能會阻止你的電子郵件。 –

+0

在主機中,郵件僅在開發或測試環境中發送。我只在產品環境 –

+0

+1這個問題上遇到問題,我也遇到過類似的奇怪問題,喜歡聽到答案。 –

回答

0

Mails are sent perfectly in others environments except in production environment.

嘗試登錄到生產服務器(S),並試圖通過命令行發送電子郵件。

您可能需要使用系統管理員來查看是否允許從生產系統發送電子郵件。

您可能需要與安全/網絡人員合作,查看電子郵件端口(通常是端口25)是否被阻止。