如何用smtp实现带附件的邮件传输 就是在向服务器发送DATA\r\n之后,发送格式是什么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CString sData; sData.Format("DATA\r\n"); if(send(sockMail,(LPCTSTR)sData,sData.GetLength(),0)==SOCKET_ERROR) { MessageBox(NULL,_T("套接字错误"),NULL,NULL); return false; } if(__getresponce(354)==false) { MessageBox(NULL,_T("服务器不能接收数据"),NULL,NULL); return false; } CString content=""; content= "From: cky <"+mailfrom+">\r\n"; content+="To: <"+recvto+">\r\n"; content+="Subject: this is a test\r\n"; content+="Date:"; CTime tmNow=tmNow.GetCurrentTime(); content+=tmNow.Format("%a,%d %b %y %H:%M:%S%Z"); content+="\r\n\r\nMIME-Version: 1.0\r\n"; content+="Content-type: multipart/mixed;\r\n\tboundary=\"----=_NextPart_000_0003_01C60A6E.5B1D3940\"\r\n"; content+="X-Priority: 3\r\nX-MSMail-Priority: Normal\r\nX-Mailer: Microsoft Outlook Express 6.00.2900.2180\r\n"; content+="X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180\r\n"; content+="\r\n"; content+="This is a multi-part message in MIME format.\r\n\r\n";// content+="\r\n.\r\n"; content+="----=_NextPart_000_0003_01C60A6E.5B1D3940\r\n"; content+="Content-type: text/plain;\r\n"; content+="\tcharset=\"gb2312\" \r\nContent-Transfer-Encoding: base64\r\n"; content+="\r\n"; CString temp; Base64Encrypt(szText,temp); content+=temp; content+="\r\n\r\n"; content+="----=_NextPart_000_0003_01C60A6E.5B1D3940\r\n"; content+="Content-Type: text/plain;\r\n name=\"cmd.text\"\r\nContent-Transfer-Encoding: quoted-printable\r\nContent-Disposition: attachment;\r\n filename=\"cmd.text\"\r\n"; content+="\r\nafcvasdfsdfasdfasdfasdfasdf\r\n"; content+="\r\n"; content+="----=_NextPart_000_0003_01C60A6E.5B1D3940--\r\n.\r\n"; if(SOCKET_ERROR==send(sockMail,content,content.GetLength(),0)) { MessageBox(NULL,_T("socket error"),NULL,NULL); closesocket(sockMail); return false; } 自己没写过,你可以参考http://www.vckbase.com/document/viewdoc/?id=703 在RFC上.RFC 821 - Simple Mail Transfer Protocol (SMTP)RFC 2821 - Simple Mail Transfer ProtocolRFC 1869 - SMTP Service Extensions (ESMTP)网址:http://www.ietf.org/rfc.html 鼠标滚动轮事件 期待牛人指点 如何用CToolTipCtrl给CTreeView加提示 从句柄获取窗口类型 CComboBox怎么没有显示出下拉的选项呢? 在定义一个继承一个cbutton类后如何使用它? 网络编程该怎么学? 给100分先!!!!!!!!!!!!!!!!!!!!! 远程dll文件卸载失败??? 如何在控件中得到调用者的窗口句柄 想请教这样一个界面如何实现:在SDI下面,我要求在客户区左边放置一个树型的窗口,右边根据树形目录当中选择的目标来显示。 在程序mfc里怎样添加并运行 excel的宏 急!!!
sData.Format("DATA\r\n");
if(send(sockMail,(LPCTSTR)sData,sData.GetLength(),0)==SOCKET_ERROR)
{
MessageBox(NULL,_T("套接字错误"),NULL,NULL);
return false;
}
if(__getresponce(354)==false)
{
MessageBox(NULL,_T("服务器不能接收数据"),NULL,NULL);
return false;
}
CString content="";
content= "From: cky <"+mailfrom+">\r\n";
content+="To: <"+recvto+">\r\n";
content+="Subject: this is a test\r\n";
content+="Date:";
CTime tmNow=tmNow.GetCurrentTime();
content+=tmNow.Format("%a,%d %b %y %H:%M:%S%Z");
content+="\r\n\r\nMIME-Version: 1.0\r\n";
content+="Content-type: multipart/mixed;\r\n\tboundary=\"----=_NextPart_000_0003_01C60A6E.5B1D3940\"\r\n";
content+="X-Priority: 3\r\nX-MSMail-Priority: Normal\r\nX-Mailer: Microsoft Outlook Express 6.00.2900.2180\r\n";
content+="X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180\r\n"; content+="\r\n";
content+="This is a multi-part message in MIME format.\r\n\r\n";
// content+="\r\n.\r\n"; content+="----=_NextPart_000_0003_01C60A6E.5B1D3940\r\n";
content+="Content-type: text/plain;\r\n";
content+="\tcharset=\"gb2312\" \r\nContent-Transfer-Encoding: base64\r\n";
content+="\r\n";
CString temp;
Base64Encrypt(szText,temp);
content+=temp;
content+="\r\n\r\n";
content+="----=_NextPart_000_0003_01C60A6E.5B1D3940\r\n";
content+="Content-Type: text/plain;\r\n name=\"cmd.text\"\r\nContent-Transfer-Encoding: quoted-printable\r\nContent-Disposition: attachment;\r\n filename=\"cmd.text\"\r\n";
content+="\r\nafcvasdfsdfasdfasdfasdfasdf\r\n";
content+="\r\n";
content+="----=_NextPart_000_0003_01C60A6E.5B1D3940--\r\n.\r\n"; if(SOCKET_ERROR==send(sockMail,content,content.GetLength(),0))
{
MessageBox(NULL,_T("socket error"),NULL,NULL);
closesocket(sockMail);
return false;
}
http://www.vckbase.com/document/viewdoc/?id=703
RFC 821 - Simple Mail Transfer Protocol (SMTP)
RFC 2821 - Simple Mail Transfer Protocol
RFC 1869 - SMTP Service Extensions (ESMTP)网址:
http://www.ietf.org/rfc.html