随笔-167  评论-65  文章-0  trackbacks-0

环境:ruby1.8.6 + rails 2.1.0 + windows

今天在整rails发送邮件,国内已经有人总结过了,写了两个demo,这里先来第一个,最简单的发送邮件demo

我用的是gmail的smtp方式发送邮件,demo步骤:

1,cd进入rails工程,安装rails的gmail支持

ruby script/plugin install http://svn.xlsuite.org/trunk/vendor/plugins/action_mailer_tls/

2,把 smtp_tls.rb ,并将其放到项目的lib目录下

3,配置config/environment.rb文件

require 'smtp_tls' # 放到require部分

ActionMailer::Base.delivery_method = :smtp     #以下放到文件的最后(end后)

ActionMailer::Base.default_charset = "UTF-8"

ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",         
:port => 587,                                           
:domain => "xxx.com",           # 这里先不管它              
:authentication => :login,      # 如果不行的话,换成 :plain 试试              
:user_name => "wang.fl1429", # 你的gmail账户名
:password => "123456", #你的gmail密码
}

4,model

class Confirm < ActionMailer::Base #注意这里继承的是ActionMailer
def send(sent_at = Time.now)
@subject    = 'helloWorld'          #邮件标题                 
@body       = {'name' => '测试'}                                                                               
@recipients = 'fl_1429@126.com'   #收件人地址
@from       = 'liverpool_long@tom.com'    #发件人地址,没起到作用
@sent_on    = sent_at            #发送时间                     
@headers    = {}                                        
end 
end

5,controller

class ConfirmController < ApplicationController

  def send_mail
Confirm.deliver_send()
render :text=> "success!"
end

end

6,view (views/confirm/send.rhtml) 注意必须是send.rhtml作为mail的template,不能命名为confirm.rhtml

成功:<%= @name %>

7,发送mail

http://localhost:3000/confirm/send_mail

注意点:

1,我在开发中遇到 uninitialized constant 异常,是因为把Model名写错了一个字母导致的

2,model中的@from不起作用,发件人地址是environment.rb中配置的邮件地址

3,send.rhtml是发送到邮箱里的template,而非view的template

ref:

http://www.cnblogs.com/sinkzephyr/archive/2008/03/18/1111317.html

http://blog.csdn.net/long0428/archive/2007/11/14/1884586.aspx

http://www.tutorialspoint.com/ruby-on-rails-2.1/rails-send-emails.htm

http://bubble601.spaces.live.com/blog/cns!686a36348ea5ae3f!289.entry



write by feng
posted on 2009-05-04 18:26 fl1429 阅读(660) 评论(0)  编辑  收藏 所属分类: Rails

只有注册用户登录后才能发表评论。


网站导航:
 
已访问数:
free counters