linux系统下发送email的c语言代码

linux系统下发送email的c语言代码

ID:9497859

大小:89.00 KB

页数:13页

时间:2018-05-01

linux系统下发送email的c语言代码_第1页
linux系统下发送email的c语言代码_第2页
linux系统下发送email的c语言代码_第3页
linux系统下发送email的c语言代码_第4页
linux系统下发送email的c语言代码_第5页
资源描述:

《linux系统下发送email的c语言代码》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Linux系统下发送Email的C语言代码  现在很多用户都是自动获取ip,而不是固定不变的,现在作个简单的程序,在他每次上网后,把他的ip自动发给我指定的email。实现很简单(当然,前提是你有相应的权限,:D),通过调用system(),把程序路径放到/etc/rc.local里,以便每次启动调用。利用ifconfig获取ip,并写到一个临时文件,然后读文件内容到缓冲区,作为email正文发送到指定的email。以163.的smtp服务器为例,现在的smtp服务器都加入了验证功能(不同服务器验证的方式是不

2、同的,sina0250-PIPELINING250-AUTHLOGINPLAINNTLM250-AUTH=LOGINPLAINNTLM2508BITMIMEauthlogin334VXNlcm5hbTP验证504命令参数不可实现421服务未就绪,关闭传输信道450要求的邮件操作未完成,邮箱不可用(例如,邮箱忙)550要求的邮件操作未完成,邮箱不可用(例如,邮箱未找到,或不可访问)451放弃要求的操作;处理过程中出错551用户非本地,请尝试452系统存储不足,要求的操作未执行552过量的存储分配,要求的操作未执

3、行553邮箱名不可用,要求的操作未执行(例如邮箱格式错误)432需要一个密码转换534认证机制过于简单538当前请求的认证机制需要加密454临时认证失败530需要认证220服务就绪250要求的邮件操作完成251用户非本地,将转发向354开始邮件输入,以.结束221服务关闭传输信道334服务器响应验证Base64字符串235验证成功  过程很明显了,再简单说说base64编码方式:可以将字符串3个3个的分开(不足的编码后以'='补),我们知道每个字符8位,这样,3个字符就是24位,base64编

4、码将这3个字符(24位),6位6位的分开,分成4个字符,再将这4个字符的ascii码值与下面的表比较,取出相应的字符,就是编码后的最终字符。例如:abc这3个字符,编码前是这样的:011000010110001001100011  现在6位6位的重组:011000010110001001100011  得到的字符为:00011000000101100000100100100011  ascii码值分别为:2422935。对照下面表,得出编码后的字符:Y29d46u63/13N30e47v14O31f48ile

5、ssohu.)#include//includesocket#include#include//includefopen(),fread().fwrite(),fclose()#include1234下一页....,。//includesystem()#include//includegethostbyname()#definePORT25//smtpport#defineSIZE1024//definemailmands#defineEHLO0#defineAUTH1#defineUSER2#defineP

6、ASS3#defineMAIL4#defineRCPT5#defineDATA6#defineCONT7#defineQUIT8voidbase64enc(constchar*,char*);intmain(intargc,char*argv[]){intsockfd;structsockaddr_inserver_addr;structhostent*server_ip;intnumbytes=0,i=0;charusername[512]=;//mailusernamecharpassailpassip_

7、files(useifconfig>tmp.ip,hetip_files)charbuff[512]=,tmp[4]=,ip[SIZE]=;intret=0;//functionreturnFILE*f_open,*f_sg[9]={};char*n_return[9]={};//returnnumbermsg[EHLO]=ehlosmtp.163.;msg[AUTH]=authlogin;base64enc(yourname,username);strcat(username,);msg[USER]=

8、username;base64enc(yourpasssg[PASS]=passsg[MAIL]=mailfrom:xxxxx163.;msg[RCPT]=rcptto:xxxxxsohu.;msg[DATA]=data;msg[QUIT]=quit;n_return[EHLO]=250;n_return[AUTH]=334;n_return[USER]=334;n_return[PASS]=235

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。