Ruby 板


LINE

出自我的 Blog http://lightyror.blogspot.com/2006/09/actionmailer-sendmail.html Action Mailer 是 Ruby on Rails 上面收發信的機制 不過因為收信實在牽涉到太多東西 我們先不予以探索,只論發信的機制 就算是寄信,也有很多方式 可以用 SMTP Server 來寄 但是也要設定很多東西 身為 Rails Programmer ,而非網管 我們先使用最最最簡單的 sendmail 來寄信 測試Sendmail 要用寄信前,請先在命令列上打 sendmail [email protected] 等到他出現下一行 就可以亂打一些內容 然後按下 Ctrl + D 寄出 麻煩請記住 如果連手動使用 sendmail 都寄不出去 代表你現在的機器寄信機制上面有問題 ActionMailer 更不可能記得出去 如果你的機器上面沒有 sendmail 指令 請按照這個網頁安裝 Postfix 使用 ActionMailer 如果您想要繼續看這一章 麻煩請先把上一章測試成功 上一章 sendmail 測試不成功,這一章是不可能成功的 設定 要設定 ActionMailer ,請到 config/enviroments/ 修改你現在環境的設定檔 ActionMailer::Base.delivery_method = :sendmail ActionMailer::Base.default_content_type = 'text/html' 第一行是告訴我們寄信的機制是用 sendmail ( 預設是 smtp ) 第二行是告訴我們寄信的內容是以 HTML 格式來寄的 (預設是 plain text) 產生 Mailer Mailer 在 Rails 裡面地位跟 Model 一樣 我們都是使用 ruby script/generate mailer 你要的mailer名字 來產生 Mailer 填寫內容 產生出來的 Mailer 會在 model 層裡面產生一個 class MyMail < ActionMailer::Base end 我們可以加入一些 Method class MyMail < ActionMailer::Base def send_mail( user ) # Email header info MUST be added here @recipients = '[email protected]' @from = "[email protected]" @subject = "測試標題許功蓋" end end 我們剛剛的 method 還沒有填寫內容 如果你眼尖一點 你會發現 Generator 會幫你在 view 裡面產生相關 Mailer 的目錄 沒錯 Mailer 裡面他也把 MVC 切的清清楚楚的 我們剛剛撰寫一個 send_mail method 我們就必須跑到相關的 view 目錄下 產生一個 send_mail.rhtml 來撰寫信件裡面的內容 但是如果我們想在 Mailer View 裡面使用一些 變數 我們必須在 Mailer method 加入一些 @ 變數 class MyMail < ActionMailer::Base def send_mail( user ) # Email header info MUST be added here @recipients = '[email protected]' @from = "[email protected]" @subject = "測試標題許功蓋" # Email body substitutions go here @body["first_name"]='first name' @body["last_name"]='last name' end end 如此 Mailer 撰寫就沒啥大問題 使用 要怎麼使用他當然是在 controller 裡面使用啦 MyMail::deliver_send_mail @user 我們可以發現 我們直接使用 Mailer 而不實體化一個 Mailer Object 並且記住,我們剛剛寫了 send_mail method 但是要使用不是直接呼叫 send_mail 而是在前面加入 deliver_ 成為 deliver_send_mail 測試結果 Mailer 預設寄信的 Charset 是 UTF-8,我也測試過標題安放中文 我發現到不管是標題或是內文,都沒有中文的問題 算是很方便的機制 -- lighty RoR 是一個介紹 lighttpd , SQLite , Ruby and Rails 的 Blog http://lightyror.blogspot.com/ --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.230.96.54







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP