dotnetフレームワークを使用してメールを送信しています。メッセージの作成に使用しているテンプレートは次のとおりです。
Date of Hire: %HireDate%
Annual Salary: %AnnualIncome%
Reason for Request: %ReasonForRequest%
Name of Voluntary Employee: %FirstName% %LastName%
Total Coverage Applied For: %EECoverageAmount%
Guaranteed Coverage Portion: %GICoveragePortion%
Amount Subject to Medical Evident: %GIOverage%
Outlookでメッセージを受信すると、「このメッセージの余分な改行が削除されました」とOutlookに通知されます。そして、メッセージは次のように表示されます。
Date of Hire: 9/28/2001
Annual Salary: $100,000
Reason for Request: New Hire
Name of Voluntary Employee: Ronald Weasley Total Coverage Applied For: $500,000 Guaranteed Coverage Portion: $300,000.00 Amount Subject to Medical Evident: $200,000
Outlookが名前、EECoverageAmountなどの後に必要な改行を誤って削除する方法に注意してください...
電子メールの受信者が正しい形式の電子メールを取得することは重要であり、それらの一部はOutlook 2003を使用していると想定する必要があります。また、メッセージを適切にフォーマットするためにautoclean機能を停止するのに十分な知識があるとは思えません。
これらのメッセージを他のメールクライアントで表示しましたが、正しく表示されます
いくつかの詳細:
- UTF-8 BodyEncodingを使用しています(msg.BodyEncoding = System.Text.Encoding.UTF8)
- msg.BodyはUTF-8エンコードされたテキストファイルから読み取られ、各行はcrlfで終了します。
質問:この問題を回避するためにメッセージの形式を変更するにはどうすればよいですか?
\r\n
。それは私のために働いた。