我正在構建一個用戶發送網站邀請的工具。 ActionMailer是發送郵件的最佳方式嗎?這似乎非常緩慢。ActionMailer的效率如何?
任何人都有其他建議嗎?
(Ubuntu Intrepid Server)
謝謝。
我正在構建一個用戶發送網站邀請的工具。 ActionMailer是發送郵件的最佳方式嗎?這似乎非常緩慢。ActionMailer的效率如何?
任何人都有其他建議嗎?
(Ubuntu Intrepid Server)
謝謝。
動作郵件對你來說太慢了,因爲它是同步發送的,等待谷歌通過整個郵件發送協議。您可以在日誌中詳細瞭解這一點。直到郵件發送完成,請求才會完成。
你有幾個選項,以加快這:
使用異步發送。這可以來自後臺作業/延遲作業等工具,我建議啓動。甚至可能有更輕的解決方案。如果這不能解決它,starling和workling會爲此提供更強大的隊列。
附加到本地郵件發件人。您可以設置本地smtp服務器,或使用send_mail配置選項。
感謝您的建議。我現在使用守護進程gem,並且已經建立了一個郵件隊列表。這將現在工作。我們也在使用sendgrid.com查看選項 – chrishomer 2009-09-27 16:46:37
如果你認真發送郵件,你可能應該有自己的郵件服務器,我個人使用http://www.rackspacecloud.com/cloud_hosting_products/servers,您可以按照指示http://cloudservers.mosso.com/index.php/Postfix_-_Installation(Ubuntu的耐寒),並讓自己的後綴MTA運行起來(說起來容易比做)。我同意ndp關於異步發送,但是如果你發送了大量的電子郵件,gmail會限制你每天的最大數量的郵件。這是我使用的方法,即使從其他服務器發送時,發送也需要幾毫秒。
您能否詳細說明您如何衡量ActionMailer的速度?向郵件網關傳遞郵件需要多少毫秒?你期望的消息量是多少?您是否比較了郵件服務器發送速率與ActionMailer每秒可以提供的郵件數量? – cite 2009-09-19 13:32:31
我們正在使用谷歌應用程序。每封郵件大約需要2-3秒。我只是通過查看開發日誌來衡量。 – chrishomer 2009-09-19 15:29:17