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