なぜもIDSMTPで送信された電子メールが新しい行に正しくなくなっていないのですか?
質問
TIdMessage
とTIdSMTP
を使用して電子メールのみを送信しています。
Body
では、のような単純な連結文字列を使用します。
Body := SomeText + #13#10 +
SomeOtherText + #13#10 +
SomeMoreText + #13#10 +
FinalText;
.
生成された電子メールでは、 "#13#10
"の一部は無視されません。 Body
変数を記録し、そのテキストが新しい行に行くことがわかります。奇妙なことはすべての行ではなく、いくつかの行でのみ起こらないことです。
これがなぜ起こるのかについてのアイデアがありますか?チェックするために何かを提案できますか?いくつかの条件で#13#10
とテキストの電子メールボディの間に不快な可能性がありますか?
更新
(あなたのコメントのおかげで)私はそれが見通しの視覚化の問題であることに気づいた、とにかく問題はまだ私にはまだ明確ではないことに気づいた。
Notepad ++で開かれた電子メールの本文である(私はOutlookから保存されたMSGファイルを開いていました)。 Outlookで問題がある壊れ(ただし、NP ++では、他のすべての系列のように見えるのがわかります):
Outlookの電子メールはこのようになります(Outlookでは、メッセージに特別なラインブレイクがあること、そして彼らが削除されたことを言うが、それらを復元するためのオプションを提供していることに注意してください。
そのオプションを選択した後、電子メールは大丈夫です。
これがいくつかの改行でのみ起こる理由がわかりません。これはあなたが問題をより良い問題を理解するのを助けますか?
解決
IdMessage.NoEncode := True
を使用して、ボディが RCF 821 エンコードされました。
またはより良いものを使用して、IdMessage.ContentType := 'text/html'
を#13#10
に置き換えます。
href="http:/support.microsoft.com/kb/287816" REL="NOFOLLOW NOREFERRER">ここと
Microsoftサポートは、Outlook Expressを使用して起こり得る回避策としてHTML形式を使用することをお勧めします。
方法2. HTMLまたはリッチテキスト形式を使用する 新しいアイテムを作成するときには、HTMLまたはリッチテキスト形式を使用できます。または、既存の投稿をこれらのフォーマットに変更できます。
他のヒント
It might be the email client stripping out some line breaks, if your ContentType is plain text.