0

Je cherche à créer un SMTP qui permette les pièces jointes, mais j'ai du mal à trouver un tutoriel. J'ai trouvé une chose proche, qui est https://stackoverflow.com/questions/58210/c-smtp-example, cependant, cela ne compile pas dans VS2005/2010 en raison des fichiers d'inclusion qui sont utilisés.C++ SMTP qui permet les pièces jointes

Je voudrais rouler le mien et ne pas m'adapter à certaines bibliothèques telles que Curl ou Boost. Est-ce que quelqu'un a des suggestions sur la façon de le faire, ou un petit exemple de code avec une bonne documentation qui compilera dans Visual Studio?

+0

Voulez-vous dire client SMTP *? –

+0

Oui je l'ai fait, mon mauvais – chadb

+0

Y a-t-il d'autres suggestions par quelqu'un? – chadb

Répondre

1

Construit sur my answer to a previous question, en utilisant les classes Microsoft ATL qui sont incluses dans les versions payantes de Visual Studio.

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; 

Le type MIME fourni dans l'appel AttachFile dépend du type de pièce jointe.

+0

Bien que très intéressant, cela nécessite-t-il MAPI? Je préfère ne pas exiger l'utilisation du programme de messagerie par défaut. – chadb

+0

J'ai mal lu ce post que vous avez lié, mais il semble que nécessite une version ATL/non-express de Visual Studio. Je voudrais pour cela travailler avec des versions express de Visual Studio aussi. – chadb

0

Il existe plusieurs façons d'effectuer des pièces jointes. Vous pouvez utiliser le formatage UUEncoded ou MIME. Le UUEncoded est beaucoup plus simple si vous voulez rouler le vôtre.

Questions connexes