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