Chinaunix首页 | 论坛 | 博客
  • 博客访问: 597602
  • 博文数量: 152
  • 博客积分: 2684
  • 博客等级: 少校
  • 技术积分: 1126
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-29 11:03
文章分类
文章存档

2012年(6)

2011年(96)

2010年(50)

分类: 系统运维

2010-10-29 18:02:35

----------------------------------------------------------------
首先先了解下:
smtp协议常见返回码
----------------------------------------------------------------
220 服务器欢迎信息
250 命令执行成功
334 登录时候返回的base64编码
235 认证成功。

----------------------------------------------------------------
:::::::::::::::::::::::程序开始:::::::::::::::::::::::::::

创建网络连接,并登录Mail Server .
----------------------------------------------------------------
1.
程序创建套接字,并初始化套接字.
连接服务器,连接成功返回220 (服务器欢迎消息).
2.程序send() HELO hostname 程序向服务器问好..
wsprintf( cbBuffer, "HELO %s\r\n", lpInfo->szHost);
成功-服务器返回250,
否则失败.
3.程序Send() AUTH LOGIN hostname 向服务器说我要登录.
wsprintf( cbBuffer, "AUTH LOGIN\r\n", lpInfo->szHost);
成功-服务器返回334.
否则失败.

4.程序Send() base64_encode(UserName) 发base64加密的用户名到服务器.
成功-服务器返回334.
否则失败.

5.程序Send() base64_encode(PassWord) 发base64加密的密码到服务器.
验证成功-服务器返回235.
否则失败.
----------------------------------------------------------------
接下来一直向Server 发送DATA.(也就是邮件内容)
初始化lpInfo (lpInfo 是 Mail struct)
----------------------------------------------------------------
6.程序Send() MAIL FROM: <%s>\r\n 到服务器.
wsprintf( cbBuffer, "MAIL FROM: <%s>\r\n",lpInfo->szFrom );
成功-服务器返回250.
否则失败.

7.程序Send() RCPT TO: <%s>\r\n 到服务器.
wsprintf( cbBuffer, "RCPT TO: <%s>\r\n",lpInfo->szEmailAddress );
成功-服务器返回0.
否则失败.

8.程序Send() DATA\r\n 到服务器.
strcpy( cbBuffer, "DATA\r\n" );
成功-服务器返回0.
否则失败.
(下面是发送主题和内容)
9.
程序Send() Content 到服务器.
wsprintf( cbBuffer,"SUBJECT: %s\r\n
To: %s\r\n
FROM: %s\r\n\r\n
%s\r\n\r\n",
lpInfo->szSubject,
lpInfo->szEmailAddress,
lpInfo->szFrom,
lpInfo->szMessage
);
成功-服务器返回0.
否则失败.
---------------------------------------------------------------------
邮件发送完毕
下面 断开Mail Server 连接 关闭套接字
---------------------------------------------------------------------
10.程序Send() QUIT 到服务器.
strcpy(cbBuffer,"QUIT\n\n");
11.
关闭套接字,清理内存.
本博文转载于:我的嵌入式生崖海纳百川...的博客
阅读(2504) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~