我编写了一个简单的脚本,通过启动SMTP通信来测试是否存在电子邮件地址,而无需发送消息。对于大多数域名,这都有效。但对于一些人,如下面的一个节目,我得到一个EOF错误。使用telnet直接与SMTP服务器通信时,我不会遇到此问题。
require 'net/smtp'
mx_server = 'mx1.optonline.net' # Example of a problematic mail host
Net::SMTP.start mx_server, 25 do |smtp|
smtp.helo 'mydomain.com'
smtp.mailfrom 'user@mydomain.com' # Triggers an EOF error
smtp.rcptto 'target@optonline.net' # Typically triggers an error if the address doesn't exist
end