在vc中实现的SMTP邮件发送程序仍然遵循SMTP协议(RFC821)的规定,SMTP的发送过程是对话式的,除非在发送邮件内容或者附件内容的时候,每次发送一个命令行之后,邮件服务器都会返回一个回答,该回答是一个字符串,它的前面三位是数字,就是反映了本次发送内容的执行结果的代码,后面的内容是文字描述。
例如:        S: MAIL FROM:<[email protected]>
        R: 250 OK        S: RCPT TO:<[email protected]>
        R: 250 OK        S: RCPT TO:<[email protected]>
        R: 550 No such user here        S: RCPT TO:<[email protected]>
        R: 250 OK        S: DATA
        R: 354 Start mail input; end with <CRLF>.<CRLF>
        S: Blah blah blah...
        S: ...etc. etc. etc.
        S: <CRLF>.<CRLF>
        R: 250 OK所以,只要在每次Send()之后调用Receive(),检查回答中的内容,就可以得到比较详细的反馈情况了。需要进一步的信息,您可以参看http://www.ietf.org/rfc/rfc0821.txt和http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmfc98/html/_mfc_casyncsocket_class_members.asp以及其他相关信息。
- 微软全球技术中心 VC技术支持本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款
(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。为了为您创建更好的讨论环境,请参加我们的用户满意度调查
(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。