欢迎您访问我爱IT技术网,今天小编为你分享的电脑教程是网络协议方面的经验知识教程:通过SMTP发送邮件;通过POP3接收邮件,下面是详细的分享!
通过SMTP发送邮件;通过POP3接收邮件
刚进了一家做邮箱的公司,目前在培训阶段,这是我的一个学习任务。开始做的时候按照培训文档做,还是不够清晰,走了一些弯路。现在把各种细节记录下来,算是温故而知新,也给有需要的同伴一个参考。
SMTP发送邮件
连接163的smtp服务器,地址:smtp.163.com 端口号:25
引用
telnet smtp.163.com 25
会得到如下反馈 220 163.com Anti-spam GT for Coremail System (163com[20111010])
输入HELO 命令,与服务器握手(注意不是HELLO,而是HELO;HELO后面的随便写)
引用
HELO localhost
对方的MTA(Mail Transfer Agent)服务器返回如下信息 250 ok
引用
留意前面的250, 在SMTP协议中, 如果返回信息的第一个数字是200-299的,表示处理成功(不同的数字有不同意思,这个可以自行查看协议)返回的数字是400-499的,表示处理临时失败(就是说稍后可以再次尝试发信)。返回的数字是500-599的,表示拒绝接收(就是说就算以后怎么尝试,都不会接收的了)
进行权限验证 AUTH LOGIN
引用
auth login
会要求你输入用户名,回车后再输入密码。这里要特别注意的是,并不是直接输入用户名和密码。需要把用户名和密码进行base64转码后输入到这里。
我找到了一个比较简单的转码方法:
引用
perl -MMIME::Base64 -e 'print encode_base64("[email?protected]");'
[email?protected]转码后如下:dGVzdC5jb20=
当然,这句perl需要在命令提示符的环境中执行,就是前面需要有[test@alpaca ~]$ 之类的提示,所以最好在telnet smtp开始前执行,得到转码后的用户名和密码
权限验证正确,会返回提示 235 Authentication successful
MAIL FROM: <[email?protected]>
引用
这里通过”MAIL FROM:”命令告诉MTA服务器发信人是[email?protected]
对方服务器会返回 250 Mail OK。这里的发信邮箱必须和权限验证时的邮箱地址相同。
RCPT TO: <[email?protected]>
这里是收件人的地址,如果有多个收件人,就写多条RCPT TO语句。对方服务器会返回 250 Mail OK
接下来通过DATA命令告诉对方服务器,我要准备发送邮件内容了。
引用
DATA
对方服务器会返回 354 End data with
发送邮件正文
引用
FROM:<[email?protected]>
TO:<[email?protected]>
SUBJECT:HELLOWORLD
注意,空行的.意味着结束正文。邮件的结束标志是“回车+.+回车”
此时对方服务器返回 250 Mail OK queued as smtp4,DtGowEA5QXPbtuJP54IgAg--.1147S2 1340258272,意味着邮件发送成功啦!
输入quit退出
更清晰的图文讲解如下:

作者 苏叶晚晚
以上就是关于通过SMTP发送邮件;通过POP3接收邮件的网络协议知识分享,更多电脑教程请移步到>>电脑教程。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
