使用Ruby发送电子邮件,无论是自动生成的还是人工输入的都可以。首先你需要把邮件的信息转换成一个单一的数组,包含了邮件的内容和附件等信息。需要引用这几个类库如RubyMail、Tmail、ActionMailer。因为ActionMailer依赖rails,所以用它来写。
示例代码如下
require 'rubygems' require 'action_mailer' class SimpleMailer <ActionMailer::Base def Simple_message(recipient) from 'yuanchunze@sohu.com' recipients recipient subject '标题使用RUBY发送的第一封邮件' body '这是邮件的正文' end end
ActionMailer 有两个自己定义的方法,一个是创建邮件 SimpleMailer.create_simple_message,另一个是发送邮件是SimpleMailer.deliver_simple_message
示例代码如下
puts SimpleMailer.create_simple_message('fasong@sohu.com') #发送人的邮箱 yuanchunze@sohu.com #发送的目标油箱 fasong@sohu.com
然后设定发送邮箱的SMTP服务,最后发送do邮件
示例代码如下
ActionMailer::Base.server_settings ={:address =>'localhost', :port =>25, :domain =>'sohu.com'} SimpleMailer.deliver_simple_message('fasong@sohu.com')
如果你的SMTP是ISP的,也就是说包含用户名和密码的话
示例代码如下
ActionMailer::Base.server_settings ={:address =>'localhost', :port =>25, :domain =>'sohu.com', :user_name =>'yuanchunze@sohu.com', :password =>'password', :authentication => :login} SimpleMailer.deliver_simple_message('fasong@sohu.com')