Bonjour,
Je souhaite envoyer un mail avec pièce jointe depuis mon appli C++ sans passer par une librairie (indy, TNMSMTP ou autre).
J'ai attrapé un peu de code sur le net (basé sur les sockets) qui semble plutot bien fonctionner sans pièce jointe. Le code est ici : http://www.iprelax.fr/smtp/smtp_prog6.php
Le but principal étant d'envoyer une pièce jointe (en pdf), j'ai adapté l'entête pour inclure le type MIME. la ligne :est remplacée par
Code : Sélectionner tout - Visualiser dans une fenêtre à part Process( "Subject: Yeah !!!\r\n\r\nEt voici un petit mail !\r\n.\r\n" );
Lorsqu'il s'agit d'un fichier texte, ca se passe presque bien (j'arrive à ouvrir le fichier recu, il y a juste quelques caractères indésirables en fin de fichier).
Code : Sélectionner tout - Visualiser dans une fenêtre à part Process( "MIME-Version: 1.0\r\nContent-Type: multipart/mixed; boundary=\"separateur\"\r\n\r\n--separateur\r\nContent-Type: text/plain;charset=\"us-ascii\"\r\nContent-Transfer-Encoding: 7bit\r\n\r\nceci est un message au format texte.\r\n\r\n--separateur\r\nContent-Type: application/pdf;nname=\"D:\\texte.txt\"\r\nContent-Transfer-Encoding: base64\r\nContent-Disposition: attachment;filename=\"texte.txt\"\r\n\r\n\"Q2VjaSBlc3QganVzdGUgdW4gcGV0aXQgdGVzdCAhCg\"--separateur--\r\n.\r\n");
Mais dès que je souhaite envoyer un pdf, je ne parviens pas à l'ouvrir à la réception et il fait pas la même taille que le fichier d'origine. Est ce que cela pourrait venir de l'encodage (base64) ?
Merci de vos conseils
Partager