smtp
Linux mail命令使用
http://blog.csdn.net/c395565746c/article/details/6011731
linux c/c++ 发送邮件程序的附件问题
http://bbs.csdn.net/topics/340224854
Ubuntu下使用最常用的mail功能,需要安装mailutils,安装命令:sudo apt-get install mailutils
使用带附件的功能,则还需要安装sharutils,安装命令:sudo apt-get install sharutils;yum install sharutils
redhat下需要启动sendmail服务:/etc/init.d/sendmail start
常用发送邮件方式如下:
1.如何写一般的邮件: mail flynewton@gmail 编辑抄送对象,邮件主题,邮件正文后,按Ctrl-D结束
2.快速发送方式: echo “邮件正文” | mail -s 邮件主题 flynewton@gmail.com
3.以文件内容作为邮件正文来发送: mail -s test flynewton@gmail.com < test.txt
4.发送带附件的邮件: uuencode 附件名称 附件显示名称 | mail -s 邮件主题 发送地址
例如: uuencode test.txt test.txt | mail -s Test flynewton@gmail.com
linux mail命令用法
http://www.cnblogs.com/xiaoshi1991/archive/2012/09/20/2695061.html
Linux下自动发送邮件程序
http://blog.csdn.net/redeg/article/details/6167429
自动发送邮件的本质其实就是socket交互,发送一系列验证信息、邮件信息等。流程大致如下:
1. 初始化socket,包括设置邮件服务器地址和端口;
2. 连接至邮件服务器,获取欢迎信息;
3. 发送验证消息,包括EHLO、AUTH LOGIN、用户名和密码等,要注意的是,用户名和密码必须经过base64编码,这个linux系统本身就带了这个工具;
4. 发送标题和正文,需要注意编码。
整个过程中需要注意的是宽字符与ASCII码之间的转换,因为诸如邮件内容可能是宽字符的,而socket函数,比如send之类的所用的buffer则是char 的指针或数组。
smtp连接和发送过程
libcurl发送邮件C++类
http://blog.csdn.net/jaylong35/article/details/7210291
stmp正常的报文:
1 220 mail.nationalchip.com ESMTP M3M
2 EHLO yingc@nationalchip.com
3 : 250-mail.nationalchip.com
4 250-PIPELINING
5 250-SIZE 26624000
6 250-ETRN
7 250-STARTTLS
8 250-AUTH PLAIN LOGIN
9 250-AUTH=PLAIN LOGIN
10 250-ENHANCEDSTATUSCODES
11 250-8BITMIME
12 250 DSN
13 AUTH LOGIN
14 : 334 VXNlcm5hbWU6
15 。。。。。。。。。。。//邮箱
16 : 334 UGFzc3dvcmQ6
17 .。。。。。。。。。。//mima
18 : 235 2.7.0 Authentication successful
19 MAIL FROM: <yingc@nationalchip.com>
20 : 250 2.1.0 Ok
21 RCPT TO: <jingzhishen@126.com>
22 : 250 2.1.5 Ok
23 DATA
24 : 354 End data with <CR><LF>.<CR><LF>
25
26 .
27 : 250 2.0.0 Ok: queued as 73D2E170001
28 QUIT
29 : 221 2.0.0 Bye
1 220 mail.nationalchip.com ESMTP M3M
2 EHLO yingc@nationalchip.com
3 : 250-mail.nationalchip.com
4 250-PIPELINING
5 250-SIZE 26624000
6 250-ETRN
7 250-STARTTLS
8 250-AUTH PLAIN LOGIN
9 250-AUTH=PLAIN LOGIN
10 250-ENHANCEDSTATUSCODES
11 250-8BITMIME
12 250 DSN
13 AUTH LOGIN
14 : 334 VXNlcm5hbWU6
15 。。。。。。。。。。
16 : 334 UGFzc3dvcmQ6
17 。。。。。。。。。。
18 : 535 5.7.8 Error: authentication failed: UGFzc3dvcmQ6//密码验证错误
19 MAIL FROM: <yingc@nationalchip.com>
20 : 250 2.1.0 Ok
21 RCPT TO: <jingzhishen@126.com>
22 : 553 5.7.1 <yingc@nationalchip.com>: Sender address rejected: not logged in
23 DATA
24 : 554 5.5.1 Error: no valid recipients
25
26 .
27 : 221 2.7.0 Error: I can break rules, too. Goodbye.
28 QUIT
29 :
当不调用recv而总是send报文时,将会发送不成功,具体原因未知:
250 2.1.0 Ok\r\n250 2.1.5 Ok\r\n503 5.5.0 <DATA>: Data command rejected: Improper use of SMTP command pipelining\r\n221 2.7.0 Error: I can break rules, too. Goodbye.\r\n