Je tente d'envoyer des e-mails au format HTML en utilisant C# 3 par Outlook.MailItem
HTML Outlook Courrier - changer les éléments liés à intégré
Outlook.MailItem objMail = (Outlook.MailItem)olkApp.CreateItem(Outlook.OlItemType.olMailItem);
objMail.To = to;
objMail.Subject = subject;
objMail.HTMLBody = htmlBody;
L'e-mail est généré en externe en enregistrant à partir d'un contrôle RTF (TX Text Control), qui génère du code HTML avec des liens vers des images stockées dans un sous-répertoire <<FileName>>
_files. Exemple:
<img border="0" src="file:///C:/Documents%20and%20Settings/ItsMe/Local%20Settings/Temp/2/zbt4dmvs_Images/zbt4dmvs_1.png" width="94" height="94" alt="[image]">
L'envoi du courrier électronique de cette façon génère un mail avec des liens cassés. En utilisant Outlook 2007 comme client de messagerie avec Word comme éditeur d'e-mail, le passage à RTF (onglet Options, groupe d'onglets Format) préserve la présentation et inline les images.
faire via ce Programmatically:
var oldFormat = objMail.BodyFormat;
objMail.BodyFormat = Outlook.OlBodyFormat.olFormatRichText;
objMail.BodyFormat = oldFormat;
perd la mise en forme et Mangles les images (l'image devient un marqueur de lien [image]
sur l'écran qui est cliquable, mais ne montre l'image). Ce n'est pas une surprise étant donné que la documentation pour MailItem.BodyFormat Property indique "Tout le formatage du texte sera perdu lorsque la propriété BodyFormat
passera du RTF au HTML et inversement".
ne marche semble malheureusement qu'il y ait un moyen facile de changer le Type
de chaque Attachment
dans le MailItem.Attachements
-OlAttachmentType.olByValue
, car il est une propriété en lecture seule qui est définie lors de la création du Attachment
.
Une approche qui vient à l'esprit est de marcher le HTML, en remplaçant les balises
avec des marqueurs et marcher le texte programatically <img>
MailItem
, l'insertion d'un Outlook.Attachment
de Type
OlAttachmentType.olByValue
.
Une autre option est de convertir les liens
utiliser <img>
et ajoutez les images en pièces jointes avec les identités mentionnées. Donc, à la question ... Y at-il un moyen de convertir les images liées en images incorporées, idéalement sans avoir à utiliser des outils tiers comme Redemption? Convertir en RTF arrive à produire le résultat, mais le faire de cette façon n'est en aucun cas un pré-requis, et peut évidemment perdre la fidélité - Je veux juste que ça fonctionne: D Aucune de mes idées existantes ne me semble propre.src="cid:uniqueIdN"
Merci pour la réponse, et désolé pour le fait que ma récente réponse penaud fait tout, mais annule la nécessité de mon poser la question. –
Très bon point de garder un œil sur le dossier de courrier indésirable lors du développement (ou le dossier Messages envoyés dans mon cas aurait été une bonne idée: D) Re le point SNM utilisant, si je partais de frais, je voudrais certainement prendre cette route bien, mais le code est comme le code est !. Merci beaucoup. –