由于客户端需要发送SMTP命令以及接收服务器响应码和邮件数据
所以 为了方便用户在客户端编程时调用这些功能
需要自定义一个函数实现客户端发送命令与接收服务器返回的数据
将自定义函数命名为SendCmdAndRecv()
如何声明和实现函数
首先,在CRecv类在对自定义函数SendCmdAndRecv()进行声明
函数声明如下
class CRecv : public CDialog //CRecv类声明
{
public:
... //省略部分代码
void SendCmdAndRecv(int x); //自定义函数
... //省略部分代码
}
上面代码的作用是在CRecv类中
手动添加自定义函数SendCmdAndRecv()的方法
自定义函数SendCmdAndRecv()的作用是在客户端发送用户信息
到服务器
并且待服务器验证成功后
客户端用于发送获取邮件的具体命令
参数x表示获取邮件的序列号码
然后,在CRecv类中编写代码实现自定义函数的功能
void CRecv::SendCmdAndRecv(int x)
{
n=x;
CString str;
char recvdata[1024]={0},ch[1024],ch2[1024];
str.Format("retr d%",n);
str+="\r\n";
send(s,str.GetBuffer(1),sizeof(str),0);
if(recv(s,recvdata,1024,0))
{
if(recvdata[]=='O' && recvdata[1]=='K')
{
recvdata[sizeof(recvdata)+1]="\0";
maliadd=rec