- 博客(20)
- 资源 (2)
- 收藏
- 关注
原创 Visual C++网络编程经典案例详解 第7章 邮件收发器 接收邮件 代码分析
对SendCmdAndRecv()的功能代码进行分析自定义函数原型void SendCmdAndRecv(int x)如果函数调用成功将在程序窗口相应的控件中进行显示该函数含有一个参数x表示要获取的邮件序列号用户调用函数时需要指定该参数一般情况下当程序启动时参数x从1开始计数函数将"RETR"命令与参数x格式化后再发送到服务器代码如下... //省略部分代码n=x; ...
2019-05-31 07:35:42 416
原创 Visual C++网络编程经典案例详解 第7章 邮件收发器 接收邮件 显示邮件数据
当用户浏览完当前邮件以后如果想继续浏览下一封邮件则单击 下一封 按钮即可但是当用户浏览的当前邮件已经是邮箱中最后一封邮件时程序将返回一个错误信息给用户例如显示 指定邮箱中已经没有可供显示的邮件了 等信息下一封 按钮的消息响应函数名称为CRecv::OnNext()在该函数编写程序实现用户查看下一封邮件功能void CRecv::OnNext(){ n+=1; //使当前邮件序列...
2019-05-29 21:49:11 530
原创 Visual C++网络编程经典案例详解 第7章 邮件收发器 接收邮件 封装客户端发送与接收功能
由于客户端需要发送SMTP命令以及接收服务器响应码和邮件数据所以 为了方便用户在客户端编程时调用这些功能需要自定义一个函数实现客户端发送命令与接收服务器返回的数据将自定义函数命名为SendCmdAndRecv()如何声明和实现函数首先,在CRecv类在对自定义函数SendCmdAndRecv()进行声明函数声明如下class CRecv : public CDialog //CRec...
2019-05-27 19:23:17 339
原创 Visual C++网络编程经典案例详解 第7章 邮件收发器 接收邮件 实现接收邮件功能
在程序中接受邮件功能是在接收邮件按钮的消息响应函数中实现的该函数名为 OnRecv()void CRecv::OnRecv(){ addr.sin_family=AF_INET; //为地址结构中的成员赋值 addr.sin_port=htons(set.m_port); host=::gethostbyname(set.m_severadd.Getbuffer(1)); //获取...
2019-05-26 14:54:14 540
原创 Visual C++网络编程经典案例详解 第7章 邮件收发器 接收邮件 使用接收邮件对话框 更新界面状态
当用户在密码编辑框中输入用户密码以后接收邮件 和 下一步 按钮应该处于可用状态void CRecv::OnChangePass(){ if(i>3) //表示用户至少输入3个字符 { CString str; //定义字符串 this->GetWindowText(str); //获取编辑框中的内容 if(str.Find("\n")) //以回车...
2019-05-24 19:38:11 208
原创 Visual C++网络编程经典案例详解 第7章 邮件收发器 接收邮件 使用接收邮件对话框 添加消息响应函数
在实例程序中用户使用接收邮件对话框类CRecv对邮件进行修改为接收邮件按钮添加消息响应函数函数的作用是根据用户输入的用户名以及密码获取POP3服务器中对应的邮件然后,分别为上一封 按钮和 下一封 按钮添加消息响应函数这两个函数的作用分别是方便用户阅读上一封邮件和阅读下一封邮件最后,程序等待用户输入用户名以及密码结束后应该使 按钮 接收邮件 处于可用状态所以 用户应该为密码编辑框I...
2019-05-23 16:25:00 235
原创 Visual C++网络编程经典案例详解 第7章 邮件收发器 接收邮件 使用接收邮件对话框
如果用户需要在工程主对话框类CMyDlg中使用CRecv类还必须在头文件 邮件收发器 Dlg.h中包含该类头文件Recv1.h... //省略部分代码#include "Set.h" //包含CSet类头文件#include "Recv1.h" //包含CRecv类头文件... //省略部分代码然后,在CMyDlg类中定义CRecv内对象class CMyDlg: p...
2019-05-22 20:53:34 497
原创 Visual C++网络编程经典案例详解 第7章 邮件收发器 接收邮件 POP3简介 添加接收邮件界面
接收邮件与发送邮件一样通过向服务器发送相关POP3命令以获取相应的邮件添加邮件接收界面步骤1 打开vc资源管理器 右击Dialog 弹出快捷菜单当然 用户除了使用上述添加对话框方法之外还可以使用窗口中的 插入 菜单2 选择 插入Dialog 命令 在vc工程中添加一个新建对话框3 用户可以向新建对话框界面中添加控件以满足接收邮件功能的需要所添加的控件列表控件ID 控...
2019-05-20 23:23:33 337
原创 Visual C++网络编程经典案例详解 第7章 邮件收发器 接收邮件 POP3简介 POP3会话编程方法实现
会话过程是一个交互式问答过程用编程方法来实现 ... //省略部分代码 CString user="user lymlrl\r\n"; //构造命令信息 CString pass="pass lwlwlw\r\n"; CString retr="retr l\r\n"; CString quit="quit\r\n"; char sendmsg[]...
2019-05-18 07:13:37 201
原创 Visual C++网络编程经典案例详解 第7章 邮件收发器 接收邮件 POP3简介 POP3会话过程
POP3会话过程与SMTP一样必须首先连接服务器成功以后才能进行相关操作连接服务器OKUSER lymlrl //验证用户名OKPASS lwlwlw //验证密码OKretr 1 //请求第一封邮件内容OK 服务器将第一封邮件内容发送到客户端Quit //结束会话OK上面代码中单行为客户端操作行为 双行为服务器操作行为...
2019-05-16 22:59:08 164
原创 Visual C++网络编程经典案例详解 第7章 邮件收发器 接收邮件 POP3简介 POP3命令
用户接收邮件是通过该POP3 协议完成的POP3通信方式与SMTP一样使用标准命令与服务器进行数据交换POP3协议还规定标准端口为110号端口命令如表命令意义QUIT终止与服务器会话STAT提供信箱大小LIST获取邮件大小USER客户端发送账号信息到服务器验证PASS客户端发送密码信息到服务器验证TOP取出第M封邮件信头和邮件...
2019-05-15 16:43:11 690
原创 Visual C++网络编程经典案例详解 第7章 邮件收发器 发送邮件 发送邮件实例
用户将前面的程序代码完善以后便可以实现邮件的发送功能功能的实现是在程序界面中发送邮件按钮的消息响应函数void CMyDlg::OnSendmail(){ char buf[4]; CString data="Data:Tue,04 Feb 2009 21:18:03+0800\r\n"; //构造发送字符串 CString sender=" MAIL FROM:"; CStr...
2019-05-13 16:49:33 655
原创 Visual C++网络编程经典案例详解 第7章 邮件收发器 发送邮件 发送邮件 状态栏中显示状态
为了让用户知道当前发送的状态在状态栏中显示该状态信息即可{... //省略部分代码char buf[4]; //定义缓冲区recv(s,buf,4,0) ; //接收响应数据if(buf!=NULL) //时候接收到数据{ if((atoi)buf==250) { ::SendMessage(statu,SB_SETTEXT,0,(long)"邮件发送成功!"); } ...
2019-05-12 08:35:22 118
原创 Visual C++网络编程经典案例详解 第7章 邮件收发器 发送邮件 发送邮件
在vc中为发送邮件按钮添加消息响应函数void CMyDlg::OnSendmail(){ CString data="Data: Tue,04 Feb 2009 21:18:03+0800\r\n"; //构造发送字符串 CString sender=" MAIL FROM:"; CString recver=" RCPT TO:"; CString subject=" Subje...
2019-05-10 19:39:09 295
原创 Visual C++网络编程经典案例详解 第7章 邮件收发器 发送邮件 构造邮件
服务器端服务成功启动以后客户端可以将邮件发送到smtp服务器但是在邮件发送之前必须对邮件的数据进行顺序调整以符合smtp协议的规范一封正确的邮件数据格式如下:Data:Tue,04 Feb 2009 21:18:03+0800 //邮件发送时间From:lymlrl@163.com //发件人地址To:lymlrl@126.com //收件人地址Subject: This is a...
2019-05-09 19:32:43 570
原创 Visual C++网络编程经典案例详解 第7章 邮件收发器 发送邮件 设置并连接服务器 判断是否连接服务器成功
当程序连接服务器成功以后服务器会返回响应码220... //省略部分代码char buf[4]; //定义缓冲区recv(s,&buf,4,0); // 接收响应数据if(atoi(buf)==220) //比较响应数据{ MessageBox("服务器准备就绪!"); //提示用户}else{ MessageBox("服务器启动服务失败!");}在程序中...
2019-05-07 20:33:36 386
原创 Visual C++网络编程经典案例详解 第7章 邮件收发器 发送邮件 设置并连接服务器
用户设置服务器信息完成后应该立刻连接到服务器需要在对话框中定义套接字变量class CMyDlg:public CDialog{ public: SOCKET s; //定义套接字 sockaddr_in addr; //定义网络地址结构对象 hostent *host; //定义主机信息结构变量}用户在程序初始化函数中定义3个变量功能实现在函数CMyDlg::OnPeiz...
2019-05-06 18:26:59 388
原创 Visual C++网络编程经典案例详解 第7章 邮件收发器 发送邮件 记录程序配置信息 初始化读文件判断是否第一次使用
用户应该在程序初始化函数CmYDlg::OnInitDialog()中,实现文件的读操作判断查看状态以及初始化界面等BOOL CMyDlg::OnInitDialog(){ CDialog::OnInitDialog(); file.Open("状态配置文件.lw",CFile::modeReadWrite); char d; file.Read(&d,1); file....
2019-05-04 08:23:57 151
原创 Visual C++网络编程经典案例详解 第7章 邮件收发器 发送邮件 记录程序配置信息 使用前须知按钮函数
用户在程序中需要实现程序相关配置信息存取以便知晓软件使用过程的一些信息本程序中当用户第一次使用软件时才会被要求查看使用须知而后面的使用不被要求查看所以在这里创建文件保存用户是否已经查看程序主对话框类中定义CFile对象class CMyDlg:public{ ... //省略部分代码 public: CFile file; //定义文件对象为该类属性 protected...
2019-05-03 12:21:53 163
原创 Visual C++网络编程经典案例详解 第7章 邮件收发器 发送邮件 使用服务器设置对话框
用户在主对话框类使用该对话框必须在头文件 邮件收发器 Dlg.h中包含新的头文件并且在CMyDlg类中定义新类对象#include "Set.h" //在头文件 邮件收发器 Dlg.h 中添加class CMyDlg:public CDialog //在CMyDlg类中定义新类对象{ ...//省略部分代码 protected: CSet set; //定义CSet对象}在...
2019-05-02 09:25:02 212
深入理解C# 第三版 第二章代码
2018-05-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人