詳解Ruby on Rails中的mailer相關(guān)使用
把 mails 命名為 SomethingMailer。 沒有 Mailer 字根的話,不能立即顯現(xiàn)哪個(gè)是一個(gè) Mailer,以及哪個(gè)視圖與它有關(guān)。
提供 HTML 與純文本視圖模版。
在你的開發(fā)環(huán)境啟用信件失敗發(fā)送錯(cuò)誤。這些錯(cuò)誤缺省是被停用的。
# config/environments/development.rb config.action_mailer.raise_delivery_errors = true
在開發(fā)模式使用 smtp.gmail.com 設(shè)置 SMTP 服務(wù)器(當(dāng)然了,除非你自己有本地 SMTP 服務(wù)器)。
# config/environments/development.rb config.action_mailer.smtp_settings = { address: 'smtp.gmail.com', # 更多設(shè)置 }
提供缺省的配置給主機(jī)名。
# config/environments/development.rb config.action_mailer.default_url_options = {host: "#{local_ip}:3000"} # config/environments/production.rb config.action_mailer.default_url_options = {host: 'your_site.com'} # 在你的 mailer 類 default_url_options[:host] = 'your_site.com'
如果你需要在你的網(wǎng)站使用一個(gè) email 鏈結(jié),總是使用 _url 方法,而不是 _path 方法。 _url 方法包含了主機(jī)名,而 _path 方法沒有。
# 錯(cuò)誤 You can always find more info about this course = link_to 'here', url_for(course_path(@course)) # 正確 You can always find more info about this course = link_to 'here', url_for(course_url(@course))
正確地顯示寄與收件人地址的格式。使用下列格式:
# 在你的 mailer 類別 default from: 'Your Name <info@your_site.com>'
確定測試環(huán)境的 email 發(fā)送方法設(shè)置為 test :
# config/environments/test.rb config.action_mailer.delivery_method = :test
開發(fā)與生產(chǎn)環(huán)境的發(fā)送方法應(yīng)為 smtp :
# config/environments/development.rb, config/environments/production.rb config.action_mailer.delivery_method = :smtp
當(dāng)發(fā)送 HTML email 時(shí),所有樣式應(yīng)為行內(nèi)樣式,由于某些用戶有關(guān)于外部樣式的問題。某種程度上這使得更難管理及造成代碼重用。有兩個(gè)相似的 gem 可以轉(zhuǎn)換樣式,以及將它們放在對應(yīng)的 html 標(biāo)簽里: premailer-rails3 和roadie。
應(yīng)避免頁面產(chǎn)生響應(yīng)時(shí)寄送 email。若多個(gè) email 寄送時(shí),造成了頁面載入延遲,以及請求可能逾時(shí)。使用 delayed_job gem 的幫助來克服在背景處理寄送 email 的問題。
相關(guān)文章
對優(yōu)化Ruby on Rails性能的一些辦法的探究
這篇文章主要介紹了對優(yōu)化Ruby on Rails性能的一些辦法的一些探究,包括避免內(nèi)存密集型的應(yīng)用和GC等相關(guān)問題的探討,需要的朋友可以參考下2015-11-11Ruby實(shí)現(xiàn)的一個(gè)強(qiáng)大的批量刪除文件腳本分享
這篇文章主要介紹了Ruby實(shí)現(xiàn)的一個(gè)強(qiáng)大的批量刪除文件腳本分享,本文腳本實(shí)現(xiàn)對指定目錄下的文件根據(jù)最后修改時(shí)間刪除文件,需要的朋友可以參考下2015-01-01Ruby實(shí)現(xiàn)生產(chǎn)者和消費(fèi)者代碼分享
這篇文章主要介紹了Ruby實(shí)現(xiàn)生產(chǎn)者和消費(fèi)者代碼分享,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-05-05Ruby實(shí)現(xiàn)命令行中查看函數(shù)源碼的方法
這篇文章主要介紹了Ruby實(shí)現(xiàn)命令行中查看函數(shù)源碼的方法,,需要的朋友可以參考下2014-07-07