2011-03-23 94 views

回答

1

您可以安裝郵件服務器(如Postfix),並將其配置爲使用外部郵件服務器作爲SMTP中繼。否則,大多數電子郵件服務會拒絕接受您的信息,或將其分類爲垃圾郵件。

該線程serverfault可能對你有幫助,它解釋瞭如何配置postfix,使得通過Gmail轉發電子郵件:Configure Postfix to send/relay emails Gmail (smtp.gmail.com) via port 587

4

最簡單的方法,我想,我通常做什麼,是對_dev環境配置爲使用良好的舊Gmail(或任何其他提供者)。在您的應用程序/前端/配置/ factories.yml文件進行設置:

dev: 
    mailer: 
    class: sfMailer 
    param: 
     logging:   %SF_LOGGING_ENABLED% 
     charset:   %SF_CHARSET% 
     delivery_strategy: realtime 
     transport: 
     class: Swift_MailTransport 
     param: 
      host:  smtp.gmail.com 
      port:  465 
      encryption: ssl 
      username: [email protected] 
      password: your-password 

發送e-mail將ofcourse需要更長的時間,因爲PHP必須連接到谷歌的服務器,並傳遞郵件。

通過這種方式,您可以擔心在生產服務器上設置正確的SMTP,並讓您的開發機器用於開發。另一個好處是,如果您在旅途中發展,並且您當地的咖啡館/機場/亭子將碼頭擋在25碼頭(他們通常會這樣做),您將不會遇到郵件遞送問題。

+0

是的,這可能是最簡單的方法。但是如果你在團隊中工作,那麼你可能不能向factories.yml文件中的其他人展示gmail密碼。因此我們應該創建通用的Gmail賬戶。 – 2011-03-24 02:48:15

+0

我得到這個錯誤:警告:郵件()[函數。郵件]:無法連接到郵件服務器在端口25,驗證您的「SMTP」和「smtp_port」設置在php.ini中或使用ini_set()在線50上的C:\ wamp \ www \ Digicom2011 \ lib \ vendor \ symfony \ lib \ vendor \ swiftmailer \ classes \ Swift \ Transport \ SimpleMailInvoker.php。我應該怎麼做? – 2011-03-24 04:09:07

+0

你確定你在開發環境(使用frontend_dev.php)嗎?它似乎將郵件服務器主機讀爲空白,這意味着它可能是YAML格式錯誤或者您處於錯誤的環境中。 – cvaldemar 2011-03-24 16:37:41