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 :
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" );
est remplacée par
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");
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).

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