Welcome 微信登录

首页 / 操作系统 / Linux / 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")