允许文件附件的C ++ SMTP

时间:2011-02-24 22:13:47

标签: c++ visual-studio-2010 network-programming smtp email-integration

我希望创建一个允许文件附件的SMTP,但是,我发现很难找到一个教程。我找到了一个接近的东西,即https://stackoverflow.com/questions/58210/c-smtp-example,然而,由于使用了包含文件,这在VS2005 / 2010中无法编译。

我想自己滚动而不适应某些库,例如Curl或Boost。有没有人对如何执行此操作有任何建议,或者一些具有良好文档的小示例代码将在Visual Studio中编译?

2 个答案:

答案 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会简单得多。