刚进了一家做邮箱的公司,目前在培训阶段,这是我的一个学习任务。开始做的时候按照培训文档做,还是不够清晰,走了一些弯路。现在把各种细节记录下来,算是温故而知新,也给有需要的同伴一个参考。
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("test@163.com");'
test@163.com转码后如下:dGVzdC5jb20=
当然,这句perl需要在命令提示符的环境中执行,就是前面需要有[test@alpaca ~]$ 之类的提示,所以最好在telnet smtp开始前执行,得到转码后的用户名和密码
权限验证正确,会返回提示 235 Authentication successful
- MAIL FROM: <test@163.com>
引用
这里通过”MAIL FROM:”命令告诉MTA服务器发信人是test@163.com
对方服务器会返回 250 Mail OK。这里的发信邮箱必须和权限验证时的邮箱地址相同。
- RCPT TO: <123@qq.com>
这里是收件人的地址,如果有多个收件人,就写多条RCPT TO语句。对方服务器会返回 250 Mail OK
- 接下来通过DATA命令告诉对方服务器,我要准备发送邮件内容了。
引用
DATA
对方服务器会返回 354 End data with <CR><LF>.<CR><LF>
- 发送邮件正文
引用
FROM:<sweety4572552@163.com>
TO:<358245183@qq.com>
SUBJECT:HELLOWORLD
This is the content.It must be an empty line above!
.
注意,空行的.意味着结束正文。邮件的结束标志是“回车+.+回车”
此时对方服务器返回 250 Mail OK queued as smtp4,DtGowEA5QXPbtuJP54IgAg--.1147S2 1340258272,意味着邮件发送成功啦!
- 输入quit退出
更清晰的图文讲解如下:
这是我第一次发技术博文,很细心的写了一两个小时,希望能给大家带来一点帮助。
- 大小: 68.8 KB
分享到:
相关推荐
首先感谢mc,是他的程序给了我灵感,和初学的... mc的程序,不能发送邮件,在此我修改了错误,可以正常的发送邮件。 界面也从新整合个人认为更符合操作习惯 并增加了接受功能,只是该部分还没有完全实现,
使用Socket结合SMTP/POP3邮件协议发送和接收邮件
实验报告请私聊-升级版见其它资源 关于要求:编程实现通过用户界面,用户登录信箱认证过程(含base64方式...这意味着除了使用SMTP协议发送邮件外,还需设计使用POP3协议接收邮件,在接收的时候采用黑白名单过滤的功能。
接收邮件时存在附件则弹出保存文件的对话框,无附件则对话框提示该邮件无附件。 5.支持删除指定的邮件。 6.列表显示当前服务器邮件的信息。 SMTP: 1.支持发送中英文的邮件。 2.支持给多人发送邮件,每个收件人之
详细介绍了SMTP和POP3发送邮件和接收邮件并有源代码,可用于学习,也可直接用在自己的项目中去
一个完整的SMTP/POP3邮件发送和接收的VC++的软件代码,是一个DLL,POP3和SMTP分开两个类,可以很轻松的摘取出来为自己的应用所用.
vc实现发送和接收邮件 包含pop3 SMTP协议
邮件收发程序,含有对POP3,SMTP的简单实现.zip
邮件收发系统依照smtp协议,实现邮件的发送,依照pop3协议来实现邮件的接收
1、使用smtp协议用于验证用户密码,完成根据邮件主题进行的设备控制及程序相关信息的更新。 2、使用pop3协议用于验证用户密码,及向用户回复控制或更新的结果邮件
3个通过POP发送和接收邮件的VC++实例程序 3个通过POP发送和接收邮件的VC++实例程序:三个实例分别如下: 1.pop3高级程序开发是一个能够从pop3服务器中检查所有邮件,并且可以查看邮件内容,也可以删除邮件但是...
可运行,发送端可发送带附件的邮件,附件大小只测试过5M的。接收端显示邮件编号,单击可显示邮件内容,并添加了黑名单功能,由于是在虚拟机上写的,黑名单文件放置在C盘,又需要的可以自己修改。接收的邮件没有将...
邮件接收服务器(pop3)与发送服务器(smtp)大全整理.pdf