MFC发送邮件C语言版

实验四发送邮件

1、实验目的:

要求学生掌握Socket编程中流套接字的技术,以及邮件的发送
2、实验内容:

i.              要求学生掌握利用Socket进行编程的技术

ii.           不能采用现有的工具,必须自己一步一步,根据协议进行操作

iii.         要求每一次操作,必须点击下一步才能继续

iv.         了解邮件发送格式

v.            必须采用图形界面,可以编辑发送内容

vi.         可选,建立自己的邮件服务器

vii.       发送邮件可以发给自己的邮件服务器,也可以发给已知邮件服务器

viii.     要求可以查看得到发送的邮件


可以给外网服务器发送邮件,也可以给自己的服务器发送邮件,详细请到 http://download.csdn.net/detail/qq_20916555/9493896 下载源代码,查看readme文档,使用。

下面仅仅粘贴核心代码,如有疑惑请在该博文下留言,博主会第一时间回复您。


客户端部分核心代码:

#include "stdafx.h"
#include <windows.h>
#include <WinSock.h>
#include "CMailMessage.h"
int CMailMessage::WSASTARTUP_FAIL = 1;
int CMailMessage::VERSION_ERROR = 2;
int CMailMessage::INIT_OK = 3;
int CMailMessage::INVALID_MSOCKET = 4;
int CMailMessage::CONECTION_FAIL = 5;
int CMailMessage::CONECTION_SUCCESSFULLY = 6;
int CMailMessage::SENDHELLO_ERROR = 7;
int CMailMessage::SENDHELLO_SUCCESS = 8;
int CMailMessage::AUTHLOGIN_FAIL = 9;
int CMailMessage::AUTHLOGIN_SUCCESS = 10;
 CMailMessage::CMailMessage()
 {

 }
CMailMessage::~CMailMessage()
{

}
void CMailMessage::QuitSendMail()
{
	char quitstr[20]={0};
	sprintf(quitstr,"%s\r\n", "QUIT");
	send(msocket, quitstr, strlen(quitstr), 0);
	memset(buff, 0, sizeof(buff));
	recv(msocket,buff,strlen(buff),0);
}
void CMailMessage::SendMailContent(char *content)
{
	int buffsize = strlen(content);
	char *content_buff = new char[buffsize+1];
	sprintf(content_buff,"%s\r\n.\r\n",content);
	send(msocket, content_buff, strlen(content_buff), 0);
	memset(buff,0,sizeof(buff));
	recv(msocket,buff,sizeof(buff),0);
}
void CMailMessage::SendDataAndHeader(char *from,char *to,char *subject)
{
	char dataorheader[128] = {0};
	memset(dataorheader,0,sizeof(dataorheader));
	sprintf(dataorheader,"%s\r\n","DATA");
	send(msocket,dataorheader,strlen(dataorheader),0);  //send command of DATA
	memset(dataorheader,0,sizeof(dataorheader));
	sprintf(dataorheader,"FROM:%s\r\n",from);		//send the header: FROM
	send(msocket,dataorheader,strlen(dataorheader),0)
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值