English version: Rails sending emails via gmail not working in heroku server but ok in localhost

我剛才遇到一個問題,我用gmail寄信,在localhost也測試OK,但是丟上heroku後卻壞掉(得到「Must issue a STARTTLS command first」錯誤)

後來找到了一篇文章,依照指示:

  1. 下載 tls_smtp.rb. (在這篇找到的提示,但原文的連結好像失效了)

  2. 放到app的lib資料夾

  3. 引入到 config/environment.rb

     require 'tls_smtp'
    

然後上傳到heroku,完成了!

我沒有依照這篇所說要再增加mailer設定到config/environments/production.rb,不過他還是成功。

這是我的mailer設定 (我放在 config/initializers/mail.rb):

	ActionMailer::Base.smtp_settings = {
	 :enable_starttls_auto => true,
	 :address => 'smtp.gmail.com',
	 :port => 587,
	 :domain => 'gmail.com',
	 :authentication => :plain,
	 :user_name => 'xxxxxx@gmail.com',
	 :password => '******'
	}

希望這篇有幫助