Linux下自动发送邮件程序
来源:互联网 发布:火线福利轻松领软件 编辑:程序博客网 时间:2024/05/16 02:20
近期由于项目需要,在学校的实验室里跑实验,自己呆在寝室里,实验需要跑好几天,每次去实验室看都很不方便,于是想做个一个小程序,等实验结果出来后自动发送到邮箱,其实linux本身就有mail命令可以发送,孤陋寡闻,等编完程序之后才知道,不过也算是个锻炼。
该程序的开发环境是:ubuntu10.04(其实真实运行环境是在arch linux下),anjuta,g++4.4.3。
自动发送邮件的本质其实就是socket交互,发送一系列验证信息、邮件信息等。流程大致如下:
1. 初始化socket,包括设置邮件服务器地址和端口;
2. 连接至邮件服务器,获取欢迎信息;
3. 发送验证消息,包括EHLO、AUTH LOGIN、用户名和密码等,要注意的是,用户名和密码必须经过base64编码,这个linux系统本身就带了这个工具;
4. 发送标题和正文,需要注意编码。
整个过程中需要注意的是宽字符与ASCII码之间的转换,因为诸如邮件内容可能是宽字符的,而socket函数,比如send之类的所用的buffer则是char 的指针或数组。
这个程序是从名为email.conf配置文件中读取配置信息,具体的配置信息如下:
dst=xxx@xxx.com
src=yyy@yyy.com
svr=smtp.xxx.com
prt=25
psd=123456789
tit=邮件标题
dat=这是linux测试邮件。
例如A要给B发邮件,那么"dst="跟的是B的邮箱地址,即目标邮箱;"src="跟的是A的地址,即发送者的地址;"psd="是A的邮箱密码;"svr="和"prt="分别是邮件发送服务器和端口,例如:smtp.163.com和25号端口;"til="是标题;"dat="是正文。请注意,上述提到的前缀,如"dst=","prt="等是不可更改的,也不要有空格,后面的内容按需填充。
邮件的发送信息最终都会记录在info.log文件里。
邮件发送的功能都集中在CAutoMail这个类里,方便集成至其他应用。
具体源代码参看链接,顺便说一句,该死的CSDN什么时候才能开通附件上传功能?
http://d.download.csdn.net/down/3005870/redeg
- Linux下自动发送邮件程序
- Linux下使用mutt自动发送邮件
- linux 发送邮件程序
- VC自动发送邮件程序
- 自动发送邮件程序开发
- Linux下发送邮件
- linux下发送邮件
- Linux下发送邮件
- linux下邮件发送
- linux下发送邮件
- 在linux下自动备份数据库,并且发送邮件。
- Linux周期性自动发送邮件
- Linux配置自动发送邮件
- LINUX下C++简单发送邮件程序
- Linux下sendmail发送邮件
- linux下如何发送邮件?
- linux下如何发送邮件?
- linux下发送外部邮件
- 第9将 网络编程-网络编程的基础知识
- 第9将 网络编程-UDP网络程序
- 第9将 网络编程-TCP网络程序
- 第9将 网络编程-简单的TCP服务器程序
- 第9将 网络编程-TCP客户端程序
- Linux下自动发送邮件程序
- FOJ 1046 Tempter of the Bone
- CMake的应用(在vision studio2008中去掉 ALL_BUILD 和 ZERO_CHECK)
- 五种常见的PHP设计模式[转自IBM]
- 巧用Discuz! X1.5 DIY门户应用
- Linux Signal实现代码分析
- putty关闭后,后台程序继续运行---使用 screen 管理你的远程会话
- 2011微软论坛新年Party圆满落幕
- 剔除内心的贪婪,纯净的内心有助于做正确的判断