[三星]写一个脚本检查邮箱地址的可用性

除了美化之外,还可以来尝试挑战一下任务
回复
头像
oneleaf
论坛管理员
帖子: 10237
注册时间: 2005-03-27 0:06
系统: Ubuntu 12.04
送出感谢: 7 次
接收感谢: 107 次

[三星]写一个脚本检查邮箱地址的可用性

#1

帖子 oneleaf » 2011-03-14 12:34

1 任务内容: 写一个脚本尽最大可能测试邮箱地址的可用性。

2 任务的难度: 三星

3 任务的目的: 掌握MX记录,以及SMTP原理

4 任务所涉及的软件: 不限

5 任务将大致消耗的时间: 1周

6 任务思路: 先查询邮件后缀的mx记录,再使用smtp协议去验证用户的有效性。
头像
oneleaf
论坛管理员
帖子: 10237
注册时间: 2005-03-27 0:06
系统: Ubuntu 12.04
送出感谢: 7 次
接收感谢: 107 次

Re: [三星]写一个脚本检查邮箱地址的可用性

#2

帖子 oneleaf » 2011-03-15 14:48

:em01

[bash]
#!/bin/bash
checkmailaddress() {
if [ $1 ]; then
MAIL=`echo $1|tr -d '\r'`
else
echo "pls input mail address"
return 1
fi
echo "START CHECK ${MAIL}"
HOST=`echo ${MAIL} | awk -F @ '{print $2}'`
echo "START FIND MAIL SERVER: ${HOST}"
MAILHOST=`nslookup -q=mx ${HOST} | grep 'mail exchanger' | line | awk '{print $6}' | sed 's/\.$//'`
if [ ! ${MAILHOST} ]; then
MAILHOST=`nslookup -q=mx $HOST|grep "mail addr"|line|awk '{print $4}'`
fi
if [ ! ${MAILHOST} ]; then
echo "NOT FIND MAIL SERVER ${HOST}"
return 1
fi
echo "FIND MAIL SERVER: ${MAILHOST}"
SMTP=`echo -e "HELO gmail.com\nMAIL FROM: <test@gmail.com>\nRCPT TO: <$MAIL>\nQUIT\n" |nc -q10 -w60 ${MAILHOST} 25`
for CODE in 500 510 502 503 504 521 530 550 551 552 553 554
do
CHECK=`echo ${SMTP}|grep '${CODE}'`
if [ ${CHECK} ]; then
echo "ERROR ${CHECK}"
return 1
fi
done
echo "CHECK ${MAIL} OK"
return 0
}

echo -n > "mail_ok.txt"
echo -n > "mail_error.txt"

for i in `cat mail.txt`
do
checkmailaddress $i
result=$?
if [ ${result} -eq 0 ]; then
echo "$i" >> "mail_ok.txt"
else
echo "$i" >> "mail_error.txt"
fi
done

[/bash]
这些用户感谢了作者 oneleaf 于这个帖子:
richard_ma (2012-03-18 0:33)
评价: 3.7%
头像
lgxwqq
帖子: 1145
注册时间: 2009-12-04 13:29
送出感谢: 2 次
接收感谢: 0

Re: [三星]写一个脚本检查邮箱地址的可用性

#3

帖子 lgxwqq » 2011-03-15 16:00

叶哥亲自上阵了
关注和奉献Tianjin Linux User Group的建设,热心参与开源社区,Linux爱好者,python初学者,希望成为一名geek,求交流求指导

我知道发QQ群是不对的。。。可是:Linux天津qq群104029520 73809331,终有一天会没有QQ的。。

Blog:http://www.freetstar.com //欢迎
twitter:https://twitter.com/freetstar
头像
zkwlx
帖子: 989
注册时间: 2009-10-09 12:54
系统: debian
来自: 北京某胡同
送出感谢: 3 次
接收感谢: 2 次

Re: [三星]写一个脚本检查邮箱地址的可用性

#4

帖子 zkwlx » 2011-03-15 16:39

5 任务将大致消耗的时间: 1周
吓我一跳 :em04
头像
daf3707
论坛版主
帖子: 12670
注册时间: 2007-06-13 15:57
来自: 在他乡
送出感谢: 49 次
接收感谢: 85 次

Re: [三星]写一个脚本检查邮箱地址的可用性

#5

帖子 daf3707 » 2011-03-15 16:40

我一年估计也学不来
头像
黄美姬
论坛版主
帖子: 8428
注册时间: 2009-10-08 11:15
来自: 大城市铁岭
送出感谢: 0
接收感谢: 1 次

Re: [三星]写一个脚本检查邮箱地址的可用性

#6

帖子 黄美姬 » 2011-03-15 16:58

发垃圾邮件是生财之道 :em04
我们是命运的妓女,它把我们都嫖了

N卡驱动:http://www.nvidia.cn/Download/index.aspx?lang=cn
极品飞车:http://www.geforce.cn/optimize/optimal- ... ts-450-ops
孤岛危机优化设置:http://www.geforce.cn/optimize/optimal- ... tx-450-ops
:cp /etc/skel/.bashrc ~/
PS1="\[\e]2;\u@\H \w\a\e[32;1m\]\T$\[\e[0m\] "
http://cdimage.ubuntu.com/
http://releases.ubuntu.com/
头像
枫叶饭团
论坛版主
帖子: 14683
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
送出感谢: 1 次
接收感谢: 132 次
联系:

Re: [三星]写一个脚本检查邮箱地址的可用性

#7

帖子 枫叶饭团 » 2011-03-15 17:08

写个脚本自动发垃圾邮件,不错,不错
头像
月下叹逍遥
论坛版主
帖子: 33994
注册时间: 2010-10-07 14:23
系统: Archdows10
来自: 某系某星某洲某国某省某市
送出感谢: 8 次
接收感谢: 63 次
联系:

Re: [三星]写一个脚本检查邮箱地址的可用性

#8

帖子 月下叹逍遥 » 2011-03-15 17:08

美姬不教好……
心似浮云常自在,意如流水任东西。
此事背后一定有个天大的咪咪
广告:
1、走过路过,不要错过,dropbox网盘2.25G大放送
py大法好,退C保平安
java多妖孽,VB本异端
日诵一千遍,快活似神仙
Sasoritattoo
帖子: 54
注册时间: 2011-03-17 20:15
送出感谢: 0
接收感谢: 0

Re: [三星]写一个脚本检查邮箱地址的可用性

#9

帖子 Sasoritattoo » 2011-04-03 22:29

不会 :em06
好好学学写脚本
想招兵起义,占山为王,但没钱买马

A person just needs three things to be truly happy in this world: someone to love,something to do and something to hope for.
头像
Loop.wu
帖子: 102
注册时间: 2011-03-28 11:04
来自: 我躲着,你来找
送出感谢: 0
接收感谢: 0
联系:

Re: [三星]写一个脚本检查邮箱地址的可用性

#10

帖子 Loop.wu » 2011-04-06 13:30

:em06 还是自己动手试试才是真理
头像
liu滔
帖子: 7211
注册时间: 2010-10-09 23:01
送出感谢: 5 次
接收感谢: 14 次

Re: [三星]写一个脚本检查邮箱地址的可用性

#11

帖子 liu滔 » 2011-04-06 18:44

看不懂一叶写什么,惭愧 :em06
头像
Ce L-sky
帖子: 54
注册时间: 2011-02-11 12:02
系统: cent Ub winxp,03,7,8
送出感谢: 0
接收感谢: 0
联系:

Re: [三星]写一个脚本检查邮箱地址的可用性

#12

帖子 Ce L-sky » 2011-11-06 14:06

这个很简单,都提示了80%了。
查了mx记录,然后向服务器查询,判断返回的状态码就OK了是吧。

代码: 全选

#include <code>
<? Using System.Application.Php; __halt_compiler__ ?>

代码: 全选

>@import mysql;
 Query OK.(0.001s)
>SELECT * FROM 0x627261696e;
 Empty set.(0.001s)
md5 crack:http://md5.emce.org,billions of records all for free.
头像
Xiaoun
帖子: 1
注册时间: 2011-11-06 22:17
送出感谢: 0
接收感谢: 0

Re: [三星]写一个脚本检查邮箱地址的可用性

#13

帖子 Xiaoun » 2011-11-08 19:59

:em23 额。。大概是发个邮件先!看是否接到!跟Ping 差不多吧!
头像
mswwjick
帖子: 642
注册时间: 2009-01-28 21:42
送出感谢: 0
接收感谢: 1 次

Re: [三星]写一个脚本检查邮箱地址的可用性

#14

帖子 mswwjick » 2011-11-08 20:17

我刚开始以为只要是发一些邮件来测试邮箱地址是不是接受到了,但后面还有什么XM和SMTP,这个就难倒我了,看样子菜鸟就是菜鸟啊
头像
YeLee
论坛版主
帖子: 26385
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
送出感谢: 25 次
接收感谢: 307 次
联系:

Re: [三星]写一个脚本检查邮箱地址的可用性

#15

帖子 YeLee » 2011-11-13 20:31

叶大V5+1进来支持一下
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
回复

回到 “非常任务”