• 大小: 5.34MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-09
  • 语言: C/C++
  • 标签: MFC邮件  

资源简介

实验四 发送邮件 1、实验目的: 要求学生掌握Socket编程中流套接字的技术,以及邮件的发送 2、实验内容: i. 要求学生掌握利用Socket进行编程的技术 ii. 不能采用现有的工具,必须自己一步一步,根据协议进行操作 iii. 要求每一次操作,必须点击下一步才能继续 iv. 了解邮件发送格式 v. 必须采用图形界面,可以编辑发送内容 vi. 可选,建立自己的邮件服务器 vii. 发送邮件可以发给自己的邮件服务器,也可以发给已知邮件服务器 viii. 要求可以查看得到发送的邮件

资源截图

代码片段和文件信息

#include “base64h.h“
#include  
#pragma comment(lib “ws2_32“)  
#include 
using namespace std;
#define SERVER_PORT 8002
int main()
{
char *userName[] = {“yangwan@myself.com““xiaoxiao@myself.com““123@myself.com““yangxiao@myself.com“};
char *userPassword = “yangwan“;
char tempbuff[1024] = {0};
char tempb[128] = {0};
WORD socketVersion;
WSADATA wsaData;
SOCKET listenSocketserverSocket;
struct sockaddr_in clientAddr;
struct sockaddr_in serverAddr;
int return_num = 0;
socketVersion = MAKEWORD(22);
return_num = WSAStartup(socketVersion&wsaData);
if(return_num != 0)
{
cout<<“WSAStartup Failed“< return -1;
}
if(LOBYTE(wsaData.wVersion) != 2 || HIBYTE(wsaData.wVersion != 2))
{
cout<<“Socket Version is Wrong!“< return -1;
}
cout<<“Init Socket Environment Successfully“< /*****************************************************/
listenSocket = socket(AF_INETSOCK_STREAMIPPROTO_TCP);
if(listenSocket == INVALID_SOCKET)
{
cout<<“Create Listen Socket Failed“<  WSACleanup(); 
return -1;
}else
{
cout<<“Create Listen Socket Successfully“< }
serverAddr.sin_family = AF_INET;  //地址家族sin_family一般Tcp/ip地址家族为AF_INET   
    serverAddr.sin_port = htons(SERVER_PORT);//将端口号转化为网络字节  
    serverAddr.sin_addr.S_un.S_addr = htonl(INADDR_ANY);//使用INADDR_ANY指定任意地址  
return_num = bind(listenSocket(struct sockaddr*)&serverAddrsizeof(serverAddr));
if(return_num == SOCKET_ERROR)
{
cout<<“Bind the Port Errors“< closesocket(listenSocket);  
        WSACleanup();   
}else
{
cout<<“Bind the Port: “< }
while(true)
{
cout<<“Listenning ...................“< return_num = listen(listenSocket10);
if(return_num == SOCKET_ERROR)
{
cout<<“There are some problem in the socket listenning“< cout<<“The informatio of the Listen Error:“< closesocket(listenSocket);  
WSACleanup(); 
return -1;
}else
{
int clientAddrLen = sizeof(clientAddr);
serverSocket = accept(listenSocket(struct sockaddr*)&clientAddr&clientAddrLen);
if(serverSocket == INVALID_SOCKET)
{
cout<<“Create ServerSocket Failed“< int num;
cin>>num;
continue;
}else
{
cout<<“Server has Receive the Client‘s Requests“< cout<<“The IP of the Client: “< //inet_ntoa(char*)将网络地址转换成点分十进制的形式   
cout<<“The PORT of the Client: “< //ntohs (network to host short)作用是将一个16位数由网络字节顺序转换为主机字节顺序
strcpy(tempbuff“Welcome to YangWan‘s Mail Server!\r\n“);
send(serverSockettempbuffstrlen(tempbuff)0);
recv(serverSockettempb1280);
cout<<“Client : “< if(strncmp(tempb“EHLO“4) == 0)
{
strcpy(tempb“This is YangWan‘s MailServer\r\n“);
send(serverSockettempbstrlen(tempb)0);
mem

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        860  2016-04-17 18:53  readme.txt

     文件       2038  2016-04-16 16:27  MySmtpServer\base64h.h

     文件     553068  2016-04-16 17:36  MySmtpServer\Debug\MySmtpServer.exe

     文件     811568  2016-04-16 17:36  MySmtpServer\Debug\MySmtpServer.ilk

     文件    5525172  2016-04-16 16:27  MySmtpServer\Debug\MySmtpServer.pch

     文件    1123328  2016-04-16 17:36  MySmtpServer\Debug\MySmtpServer.pdb

     文件     280208  2016-04-16 17:36  MySmtpServer\Debug\smtpserver.obj

     文件     197632  2016-04-16 17:43  MySmtpServer\Debug\vc60.idb

     文件     143360  2016-04-16 17:36  MySmtpServer\Debug\vc60.pdb

     文件       4416  2016-04-16 17:45  MySmtpServer\MySmtpServer.dsp

     文件        549  2016-04-16 14:45  MySmtpServer\MySmtpServer.dsw

     文件      33792  2016-04-16 17:45  MySmtpServer\MySmtpServer.ncb

     文件      49664  2016-04-16 17:45  MySmtpServer\MySmtpServer.opt

     文件        258  2016-04-16 17:43  MySmtpServer\MySmtpServer.plg

     文件       6584  2016-04-16 17:36  MySmtpServer\smtpserver.cpp

     文件       6774  2016-04-16 16:08  StmpMySelf\CMailMessage.cpp

     文件       1661  2016-04-16 15:42  StmpMySelf\CMailMessage.h

     文件      24101  2016-04-16 16:08  StmpMySelf\Debug\CMailMessage.obj

     文件          0  2016-04-16 16:08  StmpMySelf\Debug\CMailMessage.sbr

     文件      15191  2016-04-16 15:43  StmpMySelf\Debug\NuaaLogin.obj

     文件          0  2016-04-16 15:43  StmpMySelf\Debug\NuaaLogin.sbr

     文件     105921  2016-04-16 15:43  StmpMySelf\Debug\StdAfx.obj

     文件    1375077  2016-04-16 15:43  StmpMySelf\Debug\StdAfx.sbr

     文件    3728384  2016-04-16 16:08  StmpMySelf\Debug\StmpMySelf.bsc

     文件     118877  2016-04-16 16:08  StmpMySelf\Debug\StmpMySelf.exe

     文件     253640  2016-04-16 16:08  StmpMySelf\Debug\StmpMySelf.ilk

     文件      14524  2016-04-16 15:43  StmpMySelf\Debug\StmpMySelf.obj

     文件    7010056  2016-04-16 15:43  StmpMySelf\Debug\StmpMySelf.pch

     文件     410624  2016-04-16 16:08  StmpMySelf\Debug\StmpMySelf.pdb

     文件       3572  2016-04-16 15:43  StmpMySelf\Debug\StmpMySelf.res

............此处省略33个文件信息

评论

共有 条评论