NET::SMTP 发送邮件很简单,但是它不支持直接发送附件。可以通过安装MailFactory来实现该功能 1)安装MailFactory 执行:gem install mailfactory
2)支持中文 默认安装好后的MailFactory对中文支持不好,我们可以通过修改其源代码的方式来解决该问题,打开下载下来的MailFactory.rb,找到“def initialize()”方法,将字符编码由UTF-8改为 GBK @charset = 'gbk'
这样邮件中的中文就可以正确显示了
3)发送邮件的代码(sendMail.rb)
require 'net/smtp'
mail = MailFactory.new()
#加了join(',")后, 收件人在邮箱里看到的收件人列表为:xx1 <http://blog.csdn.net/coldtest/article/details/mailto:xx1@qq.com>; xx2<http://blog.csdn.net/coldtest/article/details/mailto:xx2@qq.com> Net::SMTP.start('smtp.163.com', 25, '163.com', http://blog.csdn.net/coldtest/article/details/mailto:'tesge@163.com', '密码XXX', :plain) { |smtp|
红色字体部分表示接收邮件人的地址,这里不能直接使用“mail.to”参数,否则邮件会发送失败,产生一个“550,无效用户”的错误。用上面声明的“to”变量则也可运行成功。
|
|