Ruby on Rails 發送郵件環境設定

來源:互聯網
上載者:User
運行環境:
ruby 1.8.6
rails 1.2.5
gem 1.0.1

這裡用的是gmail的伺服器,由於rails中的actionMailer不支援TLS(SSL)串連,但這卻是Gmail SMTP伺服器唯一的傳輸方式。網上已經有專門這個問題提供的plugin,下面總結一下配置的具體步驟:
1.安裝外掛程式:  開啟cmd,進入rails項目的目錄
輸入 ruby script/plugin install http://svn.xlsuite.org/trunk/vendor/plugins/action_mailer_tls/

然後在項目目錄下尋找"smtp_tls.rb",並將其放到項目的lib目錄下

2.配置rails項目的環境:
開啟項目config/environment.rb檔案:

在開頭加上:require 'smtp_tls'    #引用libsmtp_tls.rb
ActionMailer::Base.delivery_method = :smtp     #使用smtp發送郵件

ActionMailer::Base.default_charset = "UTF-8"       #指定發送郵件時使用的字元集

ActionMailer::Base.server_settings = {
:address => "smtp.gmail.com",           #使用的郵件伺服器
:port => 587,                                            #郵件伺服器的連接埠號碼
:domain => "xxx.com",                           #暫時忽略
:authentication => :login,                       #不是很清楚,照著寫
:user_name => "yourname@gmail.com",                  #使用郵件伺服器的帳號(這裡是google,所以是goole郵箱的帳號)
:password => "yourpassword",                     #使用郵件伺服器的密碼
#注意:  這裡我只是指定了郵件伺服器,不是說我指定了google的郵件伺服器,就非要使用google的郵箱發送郵件,也可以使用別的郵箱通過google的郵件伺服器發送
}


3.重啟項目server

如果你的rails版本較新:
在environment.rb檔案Rails::Initializer.run do |config| 和 end之間添加如下的配置資訊:
 # config/environments/development.rb
config.action_mailer.raise_delivery_errors = true #錯誤異常是事拋給應用程式

# set delivery method to :smtp, :sendmail or :test
config.action_mailer.delivery_method = :smtp # 發送郵件方式

# these options are only needed if you choose smtp delivery
config.action_mailer.smtp_settings = {
:address        => 'smtp.gmail.com',
:port           => 587,
:authentication => :plain,
:user_name      => 'yourname@gmail.com', #你的gmail帳號
:password       => 'yourpassword' #你的gmail密碼
}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.