C# envoi de mails avec images en ligne à l'aide de SmtpClient
SmtpClient() permet d'ajouter des pièces jointes à vos mails, mais si vous voulez faire apparaître une image, lorsque le courrier s'ouvre, au lieu de l'attacher?
Que je me souviens, il peut être fait avec environ 4 lignes de code, mais je ne me souviens pas comment et je ne peux pas le trouver sur le site MSDN.
EDIT: je ne suis pas en utilisant un site web ou quoi que ce soit, même pas une adresse IP. L'image(s) sont situés sur un disque dur. Lors de l'envoi, ils devraient faire partie de l'e-mail. Donc, je crois que je pourrais voulez utiliser un tag... mais je ne sais pas trop, car mon ordinateur n'est pas de la radiodiffusion.
- Je dois avoir manqué que tout ce qu'il y a le temps. Mise à jour
- Suivez ce lien. il a prêt à utiliser la méthode pour plusieurs inline attachement pour png filestream ainsi que pour la générale de la pièce jointe pdf/excel filestream. stackoverflow.com/questions/33665280/...
Vous devez vous connecter pour publier un commentaire.
Une solution qui est souvent évoqué, c'est pour ajouter l'image comme une
Attachment
à l'e-mail, et ensuite y faire référence dans le code HTML mailbody à l'aide d'uncid:
de référence.Toutefois, si vous utilisez le
LinkedResources
de la collection au lieu de cela, les images apparaîtront toujours très bien, mais ne montre pas des pièces jointes supplémentaires à l'e-mail. C'est ce que nous voulons arriver, c'est ce que je fais ici:REMARQUE: Cette solution ajoute un
AlternateView
à votreMailMessage
de typetext/html
. Pour être complet, vous pouvez également ajouter unAlternateView
de typetext/plain
, contenant une version texte de l'e-mail pour les non-HTML les clients de messagerie.L'e-Mail en HTML et les images qui y sont attaches, donc c'est juste un cas de référence à l'image(s) par leur contenu id, c'est à dire
Il semble être exhaustive d'exemples ici: Envoyer e-Mail avec des images en ligne
Quand vous dites 4 lignes de code, faites-vous référence à cette?
Que sur la conversion des images en Base64 cordes? Autant que je sache, cela peut être facilement intégré dans le corps du mail.
Prendre un coup d'oeil ici.
La solution déjà posté est le meilleur que j'ai trouvé, je vais juste compléter avec par exemple si vous avez plusieurs images.
Comme vous pouvez le voir, vous avez un tableau de noms d'images, il est important que les images sont dans le même dossier, car il pointe vers le même dossier de sortie.
Enfin, l'email est envoyé asynchrones de sorte que l'utilisateur n'a pas à attendre pour qu'il soit envoyé.
Le processus de faire apparaître une image sur le client, lorsque le courrier est ouvert est une fonction client. Tant que le client sait comment rendre l'image & a pas bloqué tout le contenu de l'image, il va l'ouvrir tout de suite. Vous n'avez pas à faire quelque chose de spécial lors de l'envoi de l'e-mail pour faire ouvrir sur le client, tant que vous avez spécifié correctement l'image mime type de pièce jointe.