由於我需要通過代碼發送電子郵件,目前我正在使用計劃文本,但由於Outlook默認情況下刪除了多餘的換行符,導致格式化並且我不想這樣做,所以我試圖將文本放入但現在該電子郵件被標記爲垃圾郵件。如何將文本轉換爲rtf,用於發送電子郵件?
我最後的選擇是將文本移動到rtf,但現在我的問題是。
什麼是移動文本到rtf最簡單的方法?
沒有用戶界面。
該電子郵件不包含複雜的東西,只有文本和一些額外的行,這是我目前與純文本和Outlook的默認設置的問題。
不,我不能更改Outlook的默認設置。
由於我需要通過代碼發送電子郵件,目前我正在使用計劃文本,但由於Outlook默認情況下刪除了多餘的換行符,導致格式化並且我不想這樣做,所以我試圖將文本放入但現在該電子郵件被標記爲垃圾郵件。如何將文本轉換爲rtf,用於發送電子郵件?
我最後的選擇是將文本移動到rtf,但現在我的問題是。
什麼是移動文本到rtf最簡單的方法?
沒有用戶界面。
該電子郵件不包含複雜的東西,只有文本和一些額外的行,這是我目前與純文本和Outlook的默認設置的問題。
不,我不能更改Outlook的默認設置。
您需要添加一個引用System.Windows.Forms的,然後使用RichTextBox的:
string text = "your text here";
string rtfText = string.Empty;
using(RichTextBox rtf = new RichTextBox()) {
rtf.Text = text;
rtfText = rtf.Rtf;
}
做了這項工作,但我應該看過,如果system.net.mail實際上支持發送爲RTF,它不,似乎你需要玩互動(前景或文字)來做到這一點,這是一個很大的不適合我。 – Fredou 2009-08-25 12:01:38
如果您不希望Outlook惹它在所有使用MIME類型「application /二進制」。 您將無法再在預覽窗格中看到代碼 - 對您來說這很重要嗎?
非常好的我們的代碼,用於VB.net使用我改變了一些線路:
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
我希望這是有益的
除非你能肯定的是,收件人還使用Outlook,發送RTF身體可能是一個非常糟糕的主意...... 如果你的HTML郵件被標記爲垃圾郵件,那麼很可能還有其他東西在觸發此事。 我的直覺告訴我,現在大約70%的電子郵件都是HTML(可能更多)。這將是非常糟糕的,如果他們都被自動歸類爲垃圾郵件... – 2009-08-25 11:57:45