Ruby 发送电子邮件

使用Ruby发送电子邮件,无论是自动生成的还是人工输入的都可以。首先你需要把邮件的信息转换成一个单一的数组,包含了邮件的内容和附件等信息。需要引用这几个类库如RubyMail、Tmail、ActionMailer。因为ActionMailer依赖rails,所以用它来写。

示例代码如下

 
  1. require 'rubygems'  
  2. require 'action_mailer'  
  3. class SimpleMailer <ActionMailer::Base  
  4.    def Simple_message(recipient)  
  5.       from 'yuanchunze@sohu.com'  
  6.       recipients recipient  
  7.       subject '标题使用RUBY发送的第一封邮件'   
  8.       body '这是邮件的正文'  
  9.    end  
  10. end  

ActionMailer 有两个自己定义的方法,一个是创建邮件 SimpleMailer.create_simple_message,另一个是发送邮件是SimpleMailer.deliver_simple_message

示例代码如下

 
  1. puts SimpleMailer.create_simple_message('fasong@sohu.com')  
  2. #发送人的邮箱 yuanchunze@sohu.com   
  3. #发送的目标油箱 fasong@sohu.com  

然后设定发送邮箱的SMTP服务,最后发送do邮件

示例代码如下

 
  1. ActionMailer::Base.server_settings ={:address =>'localhost',  
  2.                                      :port =>25,  
  3.                                      :domain =>'sohu.com'}  
  4. SimpleMailer.deliver_simple_message('fasong@sohu.com')  

如果你的SMTP是ISP的,也就是说包含用户名和密码的话

示例代码如下

 
  1. ActionMailer::Base.server_settings ={:address =>'localhost',  
  2.                                      :port =>25,  
  3.                                      :domain =>'sohu.com',  
  4.                                      :user_name =>'yuanchunze@sohu.com',  
  5.                                      :password =>'password',  
  6.                                      :authentication => :login}  
  7. SimpleMailer.deliver_simple_message('fasong@sohu.com')  

相关推荐