2012-02-02 251 views
1

我的C#應用​​程序向用戶發送電子郵件消息。我的一個用戶在日本,他使用Lotus Notes(v8.5.1)。他報告電子郵件主題行包含亂碼文本。當我將同樣的消息發送到我自己的電子郵件客戶端(Outlook Express)時,主題行呈現正常。 Gmail也能正確呈現文字。Lotus Notes中的亂碼主題行

有沒有人有一個想法如何解決這個問題?下面跟隨完整的電子郵件消息:

X-ASG-Debug-ID: 1328001534-0391c50bb713ff80001-npAiWI 
Received: from server46.mailservera.nl (server46.mailservera.nl [93.94.226.162]) by barracuda.klm.nl with ESMTP id jSYJ8WPeN4GeDrLN for <[email protected]>; Tue, 31 Jan 2012 10:18:54 +0100 (CET) 
X-Barracuda-Envelope-From: [email protected] 
X-ASG-Whitelist: Sender 
X-Barracuda-Apparent-Source-IP: 93.94.226.162 
Received: from server46.mailservera.nl (localhost [127.0.0.1]) 
    by server46.mailservera.nl (8.14.3/8.14.3/Debian-9.4) with ESMTP id q0V9IrPk014369 
    (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) 
    for <[email protected]>; Tue, 31 Jan 2012 10:18:54 +0100 
Received: (from [email protected]) 
    by server46.mailservera.nl (8.14.3/8.14.3/Submit) id q0V9IrCV014353; 
    Tue, 31 Jan 2012 10:18:53 +0100 
Date: Tue, 31 Jan 2012 10:18:53 +0100 
Message-Id: <[email protected]> 
To: [email protected] 
Subject: InfoSys認証コードのリクエスト 
From: [email protected] 
X-ASG-Orig-Subj: InfoSys認証コードのリクエスト 
Content-type: text/html; charset=utf-8 
X-Virus-Scanned: by amavisd-new 
X-Barracuda-Connect: server46.mailservera.nl[93.94.226.162] 
X-Barracuda-Start-Time: 1328001534 
X-Barracuda-URL: http://10.0.0.8:8000/cgi-mod/mark.cgi 
X-Barracuda-Orig-Rcpt: [email protected] 
X-Virus-Scanned: by bsmtpd at klm.nl 

リクエストいただいた內容は以下の通りです。コンピュータコード: 43C3-427F-4457-35F6-3F0D<br><br>施設名 : KLM<br>得意先コード : 12345<br>擔當者 : 11<br>住所 : 111<br>郵便番號/市 : 1 111<br>電話番號 : 1<br>メールアドレス : [email protected]<br> 
+0

亂碼的文字作爲日文字符沒有顯示正確嗎?這可能與charset問題有關(您目前使用UTF-8,也許您需要使用支持日文字符的字符集)。 – 2012-02-02 09:22:48

+0

UTF-8確實支持日文字符,但不能直接在電子郵件標題中發送UTF-8。您必須使用Martin指出的RFC中指定的特殊編碼格式。 – 2012-02-02 15:52:25

回答

2

由於RFC 2822,符合郵件頭的名稱和值應爲ASCII字符; 包含非ASCII數據的值應使用MIME編碼的字符語法RFC 2047) 表單爲:「=?charset?encoding?encoded text?=」。

例如, 主題:???!?= ISO-8859-1 Q = A1Hola,_se = = F1或

http://en.wikipedia.org/wiki/MIME#Encoded-Word

+0

ISO 8859-1不能表示日文字符。 由於他使用的是UTF-8的內容,我建議使用base64編碼它,並使用「Subject:=?UTF-8?B?= ?=」 – 2012-02-02 15:53:12