2009-08-25 10 views
2

Depuis que j'ai besoin d'envoyer un e-mail par code, j'utilise actuellement le texte du plan, mais depuis Outlook, par défaut, supprime le saut de ligne supplémentaire il bousille mon formatage et je ne veux pas, j'ai essayé de mettre mon texte html mais maintenant l'email est marqué comme spam.comment convertir du texte en rtf, pour envoyer un email?

Mon dernier choix est de déplacer le texte dans rtf mais maintenant ma question est.

Quelle est la manière la plus simple de déplacer du texte dans rtf?

Il n'y a pas d'interface utilisateur.

L'e-mail ne contient pas d'éléments complexes, uniquement du texte et une ligne supplémentaire, ce qui correspond à mon problème actuel avec le texte brut et le paramètre par défaut de Outlook.

Et non, je ne peux pas modifier le paramètre par défaut de perspectives.

+0

Sauf si vous pouvez être sûr que le destinataire utilise également Outlook, l'envoi d'un RTF body est probablement une très mauvaise idée ... Si votre message HTML est marqué comme spam il y a très probablement quelque chose d'autre qui déclenche cela. Mon instinct me dit qu'environ 70% de tous les e-mails sont de nos jours HTML (probablement même plus). Ce serait pas mal si tous étaient automatiquement classés comme spam ... –

Répondre

4

Vous devez ajouter une référence à System.Windows.Forms puis utilisez la RichTextBox:

string text = "your text here"; 
string rtfText = string.Empty; 
using(RichTextBox rtf = new RichTextBox()) { 
    rtf.Text = text; 
    rtfText = rtf.Rtf; 
} 
+0

qui a fait le travail mais j'aurais dû regarder auparavant si le system.net.mail supportait réellement l'envoi comme RTF et il ne le fait pas, il vous semble besoin de jouer avec Interop (Outlook ou Word) pour le faire et c'est un grand non pour moi. – Fredou

2

Si vous ne voulez pas Outlook salir avec du tout, utilisez le type MIME « application/binaire ". Vous ne verrez plus le code dans le volet d'aperçu - est-ce important pour vous?

0

code ur vraiment Nice, pour une utilisation avec VB.net je change quelques lignes:

Dim text As String = dr.Item("Descripcion") 
Dim rtfText As String = String.Empty 
Dim rtf As New RichTextBox 
rtf.Text = Text 
rtfText = rtf.Rtf 
Me.RichTextBox1.Rtf = rtfText 

J'espère que ce sera utile

Questions connexes