我正在使用sendmail -bv example@othesite.com
之类的命令验证某些电子邮件地址,以便在向人们发送实际电子邮件之前确认该地址是否有效。
它适用于我测试的大多数网站。但有时候,我正在使用sendmail
对于某些网站,无论我提出的地址名称是什么,都会给我所有通行证
同一个网站。
例如:
sendmail -bv yyyyyy@othersite.com
其中yyyyyy
可以是任何同时传递命令并始终报告“yyyyyy@othersite.com
已验证”的内容。这似乎是正确的,但我认为这背后应该是错误的。为什么?
其他命令检查linux上的邮件地址是否可靠且可用,这是怎么做的命令?
答案 0 :(得分:10)
简短回答: 没有100%可靠的方法来验证收件人电子邮件地址的存在,而不是实际在那里发送邮件并让收件人单击邮件正文中的链接。
<强>解释强>: 大多数这些地址验证工具的作用是联系收件人服务器,启动SMTP会话并使用SMTP“RCPT TO”(或有时“VRFY”)命令检查服务器是否以 200 OK 响应或 550用户未知。如果服务器进行收件人验证,则此方法有效,但许多服务器只是先接受所有内容,然后在收件人不存在时再退回邮件。即使启用了收件人筛选,某些系统(例如Exchange 2013)仅在SMTP DATA阶段后响应“用户未知”,这意味着您必须在获得结果之前发送完整邮件。
更高级的验证系统也会检查跳出,但即使这样也不可靠。没有反弹可能意味着收件人地址存在,但也可能意味着地址探测器被隔离,或者您只是没有等待足够的时间来反弹。
答案 1 :(得分:1)
以下命令和链接解决了这个问题。
-nslookup命令帮助查找examplesite.com的邮件服务器地址
nslookup -type = mx examplesite.com;
- https://superuser.com/questions/224015/how-to-check-if-email-address-does-exist
链接中的答案说明有助于完全验证电子邮件地址
答案 2 :(得分:1)
简而言之: 不,没有这样做的命令。
获得存在的信心 虽然没有完全准确的方法来验证电子邮件地址的存在,而最终用户没有点击电子邮件中的签名链接,但是有一个很长的,详细的guides关于如何获得一种“置信水平” “一个地址的存在。这些级别的粗略细分是:
将关卡映射到它们的含义:
你可以找出哪些MX接受明显不存在的地址的信封,从而能够区分2和3的置信水平。