16,472
社区成员
发帖
与我相关
我的任务
分享
memset(m_cSendBuff,0,sizeof(m_cSendBuff));
sprintf_s(m_cSendBuff,100000,"RCPT TO:<%s>\r\n",m_sMailInfo.m_pcReceiver);
rt=send(sock,m_cSendBuff,strlen(m_cSendBuff),0);
if(rt!=strlen(m_cSendBuff))
{
return false;
}
recv(sock,m_cReceiveBuff,1024,0);
if(m_cReceiveBuff[0]!='2' || m_cReceiveBuff[1]!='5' || m_cReceiveBuff[2]!='0')
{
MessageBox(NULL, "收件人邮箱地址有误!", "警告", NULL);
return false;
}
for (int i=0; i<10; i++)
{
memset(m_cReceiveBuff, 0, 1024);
CString str = m_sMailInfo.m_pcReceiver[i];
if (str.IsEmpty())
{
break;
}
memset(m_cSendBuff,0,sizeof(m_cSendBuff));
sprintf_s(m_cSendBuff,100000,"RCPT TO:<%s>\r\n",m_sMailInfo.m_pcReceiver[i]);
rt=send(sock,m_cSendBuff,strlen(m_cSendBuff),0);
if(rt!=strlen(m_cSendBuff))
{
return 0;
}
int nTemp = recv(sock,m_cReceiveBuff,1024,0);
if (nTemp <= 0)
{
return 0;
}
if(m_cReceiveBuff[0]!='2' || m_cReceiveBuff[1]!='5' || m_cReceiveBuff[2]!='0')
{
CString eroStr = _T("收件人不存在!\r\n");
CString erstr = m_sMailInfo.m_pcReceiver[i] + eroStr;
strcpy(Name, erstr);
return -1;
}
}
//抄送人邮箱
int m_CsNum = 0;
for (int i=0; i<10; i++)
{
CString str = m_sMailInfo.m_ccReceiver[i];
if (str == "")
{
break;
}
sprintf_s(m_cSendBuff, 100000, "RCPT TO:<%s>\r\n", m_sMailInfo.m_ccReceiver[i]);
rt = send(sock,m_cSendBuff,strlen(m_cSendBuff),0);
if (rt!=strlen(m_cSendBuff))
{
return false;
}
m_CsNum ++;
int nTemp = recv(sock,m_cReceiveBuff,1024,0);
if (nTemp <= 0)
{
return false;
}
if(m_cReceiveBuff[0]!='2' || m_cReceiveBuff[1]!='5' || m_cReceiveBuff[2]!='0')
{
MessageBox(NULL, _T("抄送人邮箱地址有误!"), "警告", NULL);
return false;
}
}
memset(m_cSendBuff,0,sizeof(m_cSendBuff));
memcpy(m_cSendBuff,"DATA\r\n",strlen("DATA\r\n"));
rt=send(sock,m_cSendBuff,strlen(m_cSendBuff),0);
if(rt!=strlen(m_cSendBuff))
{
return false;
}
recvNum = recv(sock,m_cReceiveBuff,1024,0);
if (recvNum <= 0)
{
return false;
}
if(m_cReceiveBuff[0]!='3' || m_cReceiveBuff[1]!='5' || m_cReceiveBuff[2]!='4')
{
return false;
}
memset(m_cSendBuff,0,sizeof(m_cSendBuff));
sprintf_s(m_cSendBuff,100000,"From:\"%s\"<%s>\r\n",m_sMailInfo.m_pcSenderName,m_sMailInfo.m_pcSender);
for (int i=0; i<10; i++)
{
CString str = m_sMailInfo.m_pcReceiver[i];
if (str == "")
{
break;
}
sprintf_s(&m_cSendBuff[strlen(m_cSendBuff)],1000,"To:<%s>\r\n",m_sMailInfo.m_pcReceiver[i]);
}
for (int i=0; i<10; i++)
{
CString str = m_sMailInfo.m_ccReceiver[i];
if (str == "")
{
break;
}
sprintf_s(&m_cSendBuff[strlen(m_cSendBuff)],1000,"Cc:<%s>\r\n",m_sMailInfo.m_ccReceiver[i]);
}
sprintf_s(&m_cSendBuff[strlen(m_cSendBuff)],1000,"Subject:%s\r\nMime-Version: 1.0\r\nContent-Type: multipart/mixed; boundary=\"INVT\"\r\n\r\n",m_sMailInfo.m_pcTitle);
rt=send(sock,m_cSendBuff,strlen(m_cSendBuff),0);
if(rt!=strlen(m_cSendBuff))
{
return false;
}
Cc: somebody <mail@126.com>, somebody2 <mail2@126.com>\r\n
把邮件换成你自己的,以回车换行符结尾。
这是一个例子:
http://www.codeproject.com/Articles/28806/SMTP-Client
Cc: somebody <mail@126.com>, somebody2 <mail2@126.com>
for (int i=0; i<10; i++)
{
OutputDebugString(m_sMailInfo.m_pcReceiver[i]);
CString str = m_sMailInfo.m_pcReceiver[i];
if (str.IsEmpty())
{
break;
}
memset(m_cSendBuff,0,sizeof(m_cSendBuff));
sprintf_s(m_cSendBuff,100000,"RCPT TO:<%s>\r\n",m_sMailInfo.m_pcReceiver[i]);
rt=send(sock,m_cSendBuff,strlen(m_cSendBuff),0);
if(rt!=strlen(m_cSendBuff))
{
return false;
}
}
recv(sock,m_cReceiveBuff,1024,0);
if(m_cReceiveBuff[0]!='2' || m_cReceiveBuff[1]!='5' || m_cReceiveBuff[2]!='0')
{
MessageBox(NULL, "收件人邮箱地址有误!", "警告", NULL);
return false;
}