我們以多種語言從我們的系統發送日曆邀請。 (英文,西班牙文,德文等) 最近我們加了格魯吉亞語,並且正在發佈MailMessage的編碼。C#MailMessage AlternateView忽略TransferEncoding
例如「თბილისი」在郵件到達的「ハ-áƒ'áƒ~ლáƒ~სáƒ~」
我們發送電子郵件包含HTML AlternateView和文本/日曆AlternateView。 我有兩個AlternateViews TransferEncoding設置爲QuotedPrintable。
它適用於HTML視圖,但不是日曆視圖。它始終以7bit發送。
在我SmtpClient
我已經設置DeliveryFormat = SmtpDeliveryFormat.International
這是我加我AlternateView
:
var iCalInvite = InterviewService.CreateICALInvite(uniqueId, model.StartTimeUTC, model.EndTimeUTC, model.Location, model.Note, personCompany.Person.Email, personCompany.Person.FullName, interviewAttendee, model.Attendees, msg, _currentUser);
iCalInvite.TransferEncoding = System.Net.Mime.TransferEncoding.QuotedPrintable;
msg.AlternateViews.Add(iCalInvite);
這是HTML查看
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
這是不正確的輸出的輸出的日曆視圖
Content-Type: text/calendar; method=REQUEST; charset=UTF-8;
Content-Transfer-Encoding: 7bit
我試過設置MailMessage編碼的組合數量,但似乎沒有正確輸出格魯吉亞文本。
MailMessage msg = new MailMessage();
msg.BodyTransferEncoding = System.Net.Mime.TransferEncoding.QuotedPrintable;
msg.BodyEncoding = Encoding.UTF8;
任何方向的幫助將不勝感激。 我花了幾個小時嘗試編碼的各種組合無濟於事。
謝謝!
下面是Gmail中顯示內容的示例。 HTML視圖顯示的位置正確顯示,但卡片沒有顯示。
謝謝塔夫 - 我試過了你的建議,但結果仍然是一樣的。我在問題中添加了一張圖片,以顯示它在Gmail中的顯示效果。 – Eilimint