【发布时间】:2012-12-28 21:06:33
【问题描述】:
我正在尝试确定电子邮件地址是否有效。
我已经通过使用 telnet 完成了这个,见下文
$ telnet mail.example.com 25
Trying 0.0.0.0...
Connected to mail.example.com.
Escape character is '^]'.
220 mail.example.com Mon, 14 Jan 2013 19:01:44 +0000
helo email.com
250 mail.example.com Hello email.com [0.0.0.0]
mail from:blake@email.com
250 OK
rcpt to:gfdgsdfhgsfd@example.com
550 Unknown user
通过这个 550 请求,我知道该地址在邮件服务器上无效...如果它有效,我会得到如下响应:
250 2.1.5 OK
如何在 shell 脚本中自动执行此操作?到目前为止,我有以下内容
#!/bin/bash
host=`dig mx +short $1 | cut -d ' ' -f2 | head -1`
telnet $host 25
谢谢!
【问题讨论】:
-
值得注意的是,大多数大型邮件提供商,包括 GMail、Hotmail 和 Yahoo Mail 都不允许使用这种技术来防止垃圾邮件发送者获取真实帐户。
-
@that other guy I've actually tried with gmail and it does work, just in a different format ......
codemail from:转至: code
标签: bash shell unix command telnet