我在具有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,但没有提供任何其他信息。
答案 0 :(得分:7)
你错过了实际发送的行。尝试添加
mail.deliver!
到你脚本的末尾。