加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash和telnet测试电子邮件

发布时间:2020-12-15 22:41:21 所属栏目:安全 来源:网络整理
导读:我想知道电子??邮件地址是否有效. 我通过telnet telnet完成了这个,见下文 $telnet mail.example.com 25Trying 0.0.0.0...Connected to mail.example.com.Escape character is '^]'.220 mail.example.com Mon,14 Jan 2013 19:01:44 +0000helo email.com250 ma
我想知道电子??邮件地址是否有效.

我通过telnet 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

谢谢!

解决方法

试着这样做:

[[ $@ ]] || {
    printf "Usagent./$0 domain <email> <from_email> <rcpt_email>n"
    exit 1
}
{
    sleep 1
    echo "helo $2"
    sleep 0.5
    echo "mail from:$3"
    sleep 0.5
    echo "rcpt to:$4"
    echo
} | telnet $1 25 |
    grep -q "Unknown user" &&
    echo "Invalid email" ||
    echo "Valid email"

用法:

./script.sh domain email from_email rcpt_email

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读