0

我正在創建允許文件附件的SMTP,但是,我發現很難找到教程。我發現了一個很接近的東西,它是https://stackoverflow.com/questions/58210/c-smtp-example,但是,由於使用了包含文件,無法在VS2005/2010中進行編譯。允許文件附件的C++ SMTP

我想推出自己的產品,但不適應某些圖書館,如Curl或Boost。有沒有人有關於如何做到這一點的任何建議,或一些具有良好的文檔,將在Visual Studio中編譯的小示例代碼?

+0

你的意思是SMTP *客戶端*? – 2011-02-24 22:16:36

+0

是的,我做過,我的不好 – chadb 2011-02-24 22:24:09

+0

有沒有人有任何其他建議? – chadb 2011-02-25 22:24:30

回答

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類型將取決於附件的類型。

+0

雖然非常有趣,那是否需要MAPI?我寧願不要求使用默認的電子郵件程序。 – chadb 2011-02-24 22:30:54

+0

我誤讀了您鏈接的帖子,但似乎需要ATL /非快速版本的Visual Studio。我想爲此與高級版本的Visual Studio一起工作。 – chadb 2011-02-24 22:44:26

0

有幾種方法可以做附件。您可以使用UUEncoded或MIME格式。如果你想自己推出,UUEncoded更簡單。