Bonjour
j'ai créé une petite appli web très light pour tester l'envoie de mail via une page asp.net.
le code behind est codé en c#.
L'application est en fait un bête formulaire web qui demande nom, prénom, message, destinataire du message, etc et qui envoie un mail personnalisé en HTML au destinataire.
L'envoi fonctionne très bien, la personnalisation aussi.
J'ai ensuite cherché à insérer une image dans le mail (typiquement un logo). J'ai un peu galéré, mais après avoir passé quelques heures sur le code je joins mon image comme ceci :
Code :
- Bitmap myLogo = new Bitmap(Resources.email_resources.logo);
- if (!File.Exists(Server.MapPath("logo.png" ))) myLogo.Save(Server.MapPath("logo.png" ));
|
Comme on peut le constater mon logo se trouve dans un fichier de resources. Si je cherche à joindre le fichier dans l'email :
Code :
- Attachment myLogoAttachment = new Attachment(Server.MapPath("logo.png" ));
- email.Attachments.Add(myLogoAttachment);
|
Ça, ça fonctionne nickel
Seulement, une image est créée en dur sur le disque du côté serveur, et ça ça me plait moyen moyen...Pour l'instant ça va c'est une appli bidon, mais si je crée un formulaire qui est destiné à être rempli plusieurs fois par jour ça devient la misère. J'ai donc vu qu'on pouvait utiliser un MemoryStream. Je m'y suis donc pris ainsi :
Code :
- Bitmap myLogo = new Bitmap(Resources.email_resources.logo);
- MemoryStream myLogoStream = new MemoryStream();
- myLogo.Save(myLogoStream, ImageFormat.Png);
- Attachment myLogoAttachement2 = new Attachment(myLogoStream, "image/png" );
- email.Attachments.Add(myLogoAttachment2);
|
Mais là, lorsque je reçois le mail, la pièce jointe pèse 0ko
J'ai essayé pas mal de syntaxes, sans succès...J'ai été regarder la définition de cette classe "Attachment" mais pour autant que je sache je ne vois pas ce que je fais de mal Les exemples sur le net, d'après lesquels je me suis inspiré, ne m'aide pas non plus à résoudre mon cas ><
Quelqu'un aurait une petite idée ?
Merci d'avance !
Message édité par benhetfield le 26-05-2009 à 14:16:53
---------------
You take dollars ? You take dollars ? You take ?