使用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')