C++发送邮件
来源:互联网 发布:js 杀破狼 百度网盘 编辑:程序博客网 时间:2024/06/05 05:48
C++ 发送邮件
在许多应用程序中,都会或多或少地用到邮件发送程序。本文首先介绍发送邮件必须用到的协议SMTP,然后给出用C++写的一个邮件发送类。
邮件发送要用到邮件服务器和一个邮箱账户,这样你就可以用本文的demo程序进行邮件发送了。
邮件发送协议用SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,而邮件的接收用POP3协议。
在邮件发送程序中,我们实际用到的是SMTP命令,如下表格所示:
SMTP工作过程:
1. 建立与邮件服务器之间的TCP连接。
2. 客户端发送HELO命令,服务器返回250 ok。
3. 客户端发送AUTH LOGIN, 传输用户名和密码到服务器,登陆邮件服务器。(注意:一般要求用户名和密码用BASE64加密)
4. 发送MAIL FROM命令,初始一个邮件会话。
5. 发送RCPT TO,表明收件人。
6. 发送DATA,表示开始发送信息。
7. 发送QUIT,退出。
在每条命令发送结束,末尾加上\r\n,即<CRLF>,回车键,表示此条命令的结束。
C++发送源代码详见https://github.com/duankai/mail
其中,Base64.h是用来对用户名和密码进行加密的,mail.h定义了一些退出代码。如下是GosMail类的定义:
class GosMail{public:static GosMail * GetInstance();int SendMail(USER_INFO_T * pstUserInfo, MAIL_INFO_T * pstMailInfo);bool GetStatus();~GosMail();private:GosMail();bool Init();void GetMailSocket(int iPort = 25);void FreeResource();int InitMailBox();int Login(USER_INFO_T * pstUserInfo);int SendContent(MAIL_INFO_T * pstMailInfo);int QuitEmailBox();public:private:SOCKET m_socket;SOCKADDR_IN m_sockAddr;bool m_mailStatus;static GosMail * m_mailInst;int m_iSockAddrLen;char recvBuff[1024];char sendBuff[1024 * 3];};本文介绍的内容用C++实现了一个简单的邮件发送类,将来会将邮件接收类也补充完整,欢迎大家提出意见和指出不足之处。
0 0
- c#.net发送邮件
- C#邮件发送类
- C#,WinForm发送邮件
- .NET 发送邮件(C#)
- C#smtp发送邮件
- C#.net发送邮件
- [C#] 发送邮件
- C#,WinForm发送邮件
- c语言发送邮件
- C语言发送邮件
- c#.NET中发送邮件
- c#socket发送邮件详解
- c#socket发送邮件详解
- C#.NET发送邮件源代码
- 嘻哈C#---SMTP发送邮件
- 利用SMTP发送邮件(C#)
- C#smtp服务器发送邮件
- C#--中实现邮件发送
- 大数据和信息安全-安全和发展孰重…
- 大数据时代个人信息安全谁来管?不…
- 传统IT列强和互联网新贵们如何应对…
- 2014第六届云计算大会参会体会和个…
- 跨界交流:京津冀产业园区的发展与…
- C++发送邮件
- 探讨Redhat的开源“成功之道”
- 第一章 工欲善其事 必先利其器—Android SDK工具(7)
- bootstrap开发tab选项卡事例
- centos vsftpd 配置安装、报错解决
- HDU--1045--Fire Net--DFS
- Spring事务配置的五种方式
- C++ 动态数据结构(一)
- 布云wifi,最强的网络营销wifi