通过smtp服务器身份验证

本文介绍了SMTP服务器的身份验证过程,包括PLAIN和CRAM-MD5两种方式,并详细阐述了验证流程。此外,还提到了向匿名和验证邮件服务器发送邮件的步骤,强调了用户名和密码的Base64编码处理在身份验证中的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

做了半天终于将这个问题解决了,也感谢精华贴:

因为用到smtp协议发送邮件,特整理了一下以备后用
如今smtp发信基本都用验证
初始有两种打招呼方式 helo ehlo
EHLO
250-SMTP.Mydomain.com Hello [192.168.0.1]
250-8bitmime
250-BINARYMIME
250-VRFY
250-AUTH LOGIN PLAIN CRAM-MD5
250-AUTH=LOGIN
250 OK
验证过程(LOGIN方式)

>:auth login ---进行用户身份认证
<:334 VXNlcm5hbWU6 ---BASE64编码“Username:”
>:Y29zdGFAYW1heGl0Lm5ldA== ----发送BASE64编码的用户名
<:334 UGFzc3dvcmQ6 ---BASE64编码"Password:"
>:MTk4MjIxNA== ---客户端发送BASE64编码的密码
<:235 auth successfully ---成功

PLAIN方式
基于明文的SMTP验证,详见:http://www.ietf.org/internet-drafts/draft-ietf-sasl-plain-08.txt
其发送用户名与口令的格式应该是“<NULL>tim<NULL>tanstaaftanstaaf”。“tim”是用户名,后边的字符串是口令,NULL是ASCII的0(所以无法使用telnet登录)。

CRAM-MD5方式
CRAM-MD5即是一种Keyed-MD5验证方式,CRAM是“Challenge-Response Authentication Mechanism”的所写。所谓Keyed-MD5,是将Clieng与Server共享的一个Key作为一部分MD5的输入,正好邮件系统的用户口令可以作为这个Key。具体的交互如下:

S: * OK IMAP4 Server
C: A0001 AUTHENTICATE CRAM-MD5
S: + PDE4OTYuNjk3MTcwOTUyQHBvc3RvZmZpY2UucmVzdG9uLm1jaS5uZXQ+ -------- Server发送BASE64编码的Timestamp、Hostname等给Client
C: dGltIGI5MTNhNjAyYzdlZGE3YTQ5NWI0ZTZlNzMzNGQzODkw ------- Client将收到的信息加上用户名和口令,编码为BASE64发送给Server
S: A0001 OK CRAM authentication successful ----------- Server使用该用户的口令进行MD5运算,如果得到相同的输出则认证成功
=============================================================
向支持匿名转发的邮件服务器发送邮件的过程:
HELO localhost
mail from:a@a.com  来自哪里
rcpt to:target@263.net 发给谁
data
输入信体内容。回车.结束
bye 退出

向验证邮件服务器发送邮件的过程:
HELO localhost
auth login
Y29zdGFAYW1heGl0Lm5ldA 用户名
Y29zdGFAYW 密码
mail from:a@a.com  来自哪里
rcpt to:target@263.net 发给谁
data
输入信体内容。回车.结束
bye 退出
-----------------------
还要验看证服务器支持哪种验证方式,实际上验证服务器就是加了一个登录过程,没有此服务器用户就不给转发邮件。

此里面关键是用户名和密码的输入方法:要将用户名和密码用BASE6编码工具编成字符串再进行实验,身份验证是很关键的.

参考:

http://www.5dmail.net/html/2007-3-14/2007314200527.htm

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值