Ruby Mail gem,如何编写邮件消息脚本

时间:2010-11-30 16:27:22

标签: ruby email smtp centos5

我在具有SELinux许可和IPtables关闭的CENTOS 5 VM上安装了testmail.rb:

require 'rubygems'
require 'mail'

options = { :address              => "mail.domain.com",
            :port                 => 466,
            :domain               => 'otherdomain.com',
            :user_name            => 'somedude@domain.com',
            :password             => 'topsecret',
            :authentication       => 'plain',
            :enable_starttls_auto => true  }
 Mail.defaults do
  delivery_method :smtp, options
end

 mail = Mail.new do
      from 'somedude@otherdomain.com'
        to 'admin@domain.com'
   subject 'This is a test email'
      body File.read('body.txt')
 end

puts mail.to_s

运行脚本时的结果如下:

Date: Tue, 30 Nov 2010 12:12:58 -0500
From: somedude@otherdomain.com
To: admin@domain.com
Message-ID: <4cf5309a2f074_284015c5c4de91b8270b2@apvdbs03.3rdomain.local.mail>
Subject: This is a test email
Mime-Version: 1.0
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit

test!

“测试”!是body.txt的内容。

没有电子邮件到达发送到帐户。我们从发送到域管理员获得的smtp设置。我使用telnet成功地在未加密的端口(25)上向域发送电子邮件,但没有得到加密端口(466)的响应,可能是因为我的telnet会话未加密?

我可以通过哪些方法查看脚本执行过程中发生的故障排除?

更新: 尝试重定向:&gt; log.log 2&gt;&amp; 1,但没有提供任何其他信息。

1 个答案:

答案 0 :(得分:7)

你错过了实际发送的行。尝试添加

mail.deliver!

到你脚本的末尾。