邮件配置:
在enviroment.rb文件中:
- ActionMailer::Base.server_settings={
-
:address=>"smtp.gmail.com",
-
:port=>587,
-
:authentication=>:plain,
-
:user_name=>"gmail_account",
-
:password=>"gmail_password"
- }
ActionMailer::Base.server_settings = {
:address => "smtp.gmail.com",
:port => 587,
:authentication => :plain,
:user_name=> "gmail_account",
:password => "gmail_password"
}
如果按照上面的配置,一般邮件发送会不成功,因为gmail需要ssl方式来登录,ruby的lib中Net:SMTP TLS不支持,所以我们必须去下载一个plugin :
cd /my_rails_app/vendor/plugins
svn export https://openrain.com/opensource/public/rails/plugins/action_mailer_tls action_mailer_tls
为什么不用script/plugin install,我也不知道
下载成功之后,在config/initializers文件夹create一个ruby文件:smptp_gmail.rb
- require"smtp_tls"
-
mailer_config=File.open("#{RAILS_ROOT}/config/mailer.yml")
- mailer_options=YAML.load(mailer_config)
-
ActionMailer::Base.delivery_method=:smtp
-
ActionMailer::Base.default_charset="utf-8"
- ActionMailer::Base.smtp_settings=mailer_options
require "smtp_tls" #刚才下载的文件
mailer_config = File.open("#{RAILS_ROOT}/config/mailer.yml")
mailer_options = YAML.load(mailer_config)
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.default_charset = "utf-8"
ActionMailer::Base.smtp_settings = mailer_options
然后在config文件夹create一个yml文件:mailer.yml
- :address:smtp.gmail.com
-
:port:587
-
:user_name:gmail_account
-
:password:gmail_password
-
:authentication::plain
:address: smtp.gmail.com
:port: 587
:user_name: gmail_account
:password: gmail_password
:authentication: :plain
最后就可以script/generate mailer MyMailer send
- classMyMailer<ActionMailer::Base
-
defsend
-
recipients='receiveremailaddress'
-
from='youremailaddress'
-
subject='iloverubyonrails'
-
body[:account]='selina'
-
end
-
end
class MyMailer < ActionMailer::Base
def send
recipients = 'receiver email address' #接收者email地址
from = 'your email address' #发送者email地址
subject = 'i love ruby on rails'
body[:account] = 'selina'
end
end
开始发送: script/console
MyMailer.create_send #建一个email对象
MyMailer.deliver_send #发送email
最最最后:
其实把email stmp的配置文件写成一个yml文件的好处在于,如果你要改变stmp服务器的配置,直接再写一个yml文件就可以,比如A.yml , B.yml , C.yml ......
然后再File.open("#{RAILS_ROOT}/config/X.yml")
或者你觉得麻烦,也可以直接在enviroment.rb文件中:
- require'smtp_tls'
-
ActionMailer::Base.delivery_method=:smtp
-
ActionMailer::Base.default_charset="utf-8"
- ActionMailer::Base.server_settings={
-
:address=>"smtp.gmail.com",
-
:port=>587,
-
:authentication=>:plain,
-
:user_name=>"my_gmail_account",
-
:password=>"my_gmail_password"
- }
分享到:
相关推荐
这是关于rails 2.0 API文档,方便查询,是热爱rails人员的必备武器
word文档主要是Ruby on Rails 2.0的新特性介绍
不敢说是最好的。但绝对是很有用的。 和网上很多文章不一样。很实用。网上的一些文章都转来转去的。 刚开始还会让你越看越晕。这个是我的亲身的体验!所以我把最实用的上传上来,还希望大家...尤其是rails2.0的。
Rails2.0资料,好好了解。
jRuby On Rails WEB 2.0
这是用于windows/linux平台下本地安装ruby on rails的安装包,版本为2.0.2,适合网络速度不快的用户下载本地安装rails.
《JRuby on Rails Web 2.0 实用项目》 英文PDF + 源码
sqlite.dl文件 博文链接:https://dingji.iteye.com/blog/154563
Rails2.0基础,英文版.适合于了解Rails2.0框架应用的初学者.
JRuby on Rails Web 2.0 Projects
博文链接:https://moyuan.iteye.com/blog/221185
rails 2.0 english version
Rails 2.0 API 文档. HTML 格式。免费下载
介绍了javaeye,如何用ruby on rails 开发出javaeye2.0网站的
使用Aptana+Rails开发Rails Web应用 有Aptana的安装配置等等,中文