我希望创建一个允许文件附件的SMTP,但是,我发现很难找到一个教程。我找到了一个接近的东西,即https://stackoverflow.com/questions/58210/c-smtp-example,然而,由于使用了包含文件,这在VS2005 / 2010中无法编译。
我想自己滚动而不适应某些库,例如Curl或Boost。有没有人对如何执行此操作有任何建议,或者一些具有良好文档的小示例代码将在Visual Studio中编译?
答案 0 :(得分:1)
在my answer to a previous question上构建,使用Visual Studio付费版本中包含的Microsoft ATL类。
CSMTPConnection smtp;
if (!smtp.Connect(m_strEmailServer))
return false;
// start generating the email message; remember to call CoInitialize somewhere in the app before this
CMimeMessage msg;
msg.SetSubject(m_strSubject);
msg.SetSender(m_strSender);
// repeat the following as necessary
msg.AddRecipient(strSingleRecipient);
msg.AddText(m_strBody);
// add an attachment
msg.AttachFile(m_strAttachmentPath, m_strAttachmentName, _T("application/octet-stream"));
if (!smtp.SendMessage(msg))
return false;
return true;
AttachFile调用中提供的MIME类型取决于附件类型。
答案 1 :(得分:0)
有几种方法可以做附件。您可以使用UUEncoded或MIME格式。如果你想自己动手,UUEncoded会简单得多。