如何手工telnet实现smtp鉴权发信

邮箱类 (4.2万) 2015-03-11 11:01:21

1,首先确定base64编码的用户名和密码< ?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

perl -e 'use MIME::Base64; print encode_base64("test\@corpmail.cn")'

dGVzdEBjb3JwbWFpbC5jbg==

perl -e 'use MIME::Base64; print encode_base64("111111")'

MTExMTEx

 

Base64解码:

perl -e 'use MIME::Base64; print decode_base64("VXNlcm5hbWU6”)'

Username:

perl -e 'use MIME::Base64; print decode_base64("UGFzc3dvcmQ6”)'

Password:

perl -e 'use MIME::Base64; print encode_base64("Username:")'

手工鉴权命令:

telnet localhost 25

Trying 127.0.0.1...

Connected to localhost.localdomain (127.0.0.1).

Escape character is '^]'.

220 mail.corpmail.cn ESMTP aqcx

ehlo mail.test.com

250-mail.corpmail.cn

250-PIPELINING

250-SIZE 10240000

250-VRFY

250-ETRN

250-AUTH LOGIN PLAIN

250-AUTH=LOGIN PLAIN

250-ENHANCEDSTATUSCODES

250-8BITMIME

250 DSN

auth login

334 VXNlcm5hbWU6

dGVzdEBjb3JwbWFpbC5jbg==

334 UGFzc3dvcmQ6

MTExMTEx

235 2.0.0 Authentication successful

……

.

到这里鉴权成功,其它就是mail from ,rcpt to ,data,. 发信,最后quit

 

telnet 发信

telnet IP 25

helo IP   宣告发信人主机地址 (如果是ehelo下面的邮箱地址要用<>括起来)

mail from: liuyy@fangmail.net

rcpt to: fangtech@126.com

data

subject:A Test Mail

输入邮件内容

.  (以点号结束)

 

telnet 收信

1、telnet 172.16.10.254 110 ------------------使用 telnet 命令连接服务器 110 端口

user username ----------------------------- 输入用户名, username 为具体的用户名

pass password -------------------------------输入用户密码,password 为具体的密码

stat ------------------------------------------ 邮箱状态

list --------------------------------------------列出每封邮件的字节数

uidl命令与list命令用途差不多,只不过uidl命令显示邮件的信息比list更详细

top 1 ----------------------------------------- 接收第 1 封邮件,返回第 1 封邮件头

top命令有两个参数,形如: top n m ,n为邮件编号,m是要读出邮件正文的行数,如果m=0,则只读出邮件的邮件头部分

retr 1 ----------------------------------------接收第 1 封邮件,返回第 1 封邮件全部内容

dele 1 ------------------------------------------------- 删除第 1 封邮件

dele命令是用来删除指定的邮件(注意:dele n命令只是给邮件做上删除标记,只有在执行quit命令之后,邮件才会真正删除)

quit --------------------------------------------------- 结束会话

 

2、telnet 192.168.0.1 143

A01 LOGIN 用户名 密码   #用户登录

A02 LIST "" *              #列出所有信箱列表

A03 Select INBOX         #选择收件箱

A04 Search ALL           #查询收件箱所有邮件

A05 Search new          #查询收件箱所有新邮件

A06 Fetch 5 full           #获取第5封邮件的邮件头

A07 Fetch 5 rfc822        #获取第5封邮件的完整内容

A08 Fetch 5 flags         #查询第5封邮件的标志位

A09 Store 5 +flags.silent (/deleted) #设置标志位为删除

A10 Expunge #永久删除当前邮箱INBOX中所有设置了/deleted标志的信件

A11 noop         # 空语句

A20 LOGOUT      #退出

 

telnet测试一个域名或邮箱是否在别的服务器上

[root@mail logbak]# telnet mx1.alibaba-inc.com 25       

Trying 42.120.81.32...

Connected to mx1.alibaba-inc.com (42.120.81.32).

Escape character is '^]'.

220 mx1.aliyun-inc.com MX AliMail Server(127.0.0.1)

helo mail.fangmail.net

250 Ok

mail from:<test@fangmail.net>

250 Mail Ok

rcpt to:<xiang.zhou@dashinginfo.com>

552 "RCPT TO" mailbox unavailable

rcpt to:<lu.liu@dashinginfo.com>

552 "RCPT TO" mailbox unavailable

rcpt to:<test@gmail.fangtech.net>

554 delivery error: dd This user doesn't have a gmail.fangtech.net e-mailaccount (test@gmail.fangtech.net) [0] - mx1.aliyun-inc.com

 

Telnet  mx1.alibaba-inc.com  25  (给目标主机telnet发送邮件)

Helo mail.fangmail.net (宣告发信服务器主机)

Mail from:<test@fangmail.net>  (发信邮箱账号)

Rcpt to:<lu.liu@dashinginfo.com>   (接收邮件账号,在目标主机服务器中)

THE END

发表评论