なぜもIDSMTPで送信された電子メールが新しい行に正しくなくなっていないのですか?

StackOverflow https://stackoverflow.com/questions/8895953

  •  29-10-2019
  •  | 
  •  

質問

TIdMessageTIdSMTPを使用して電子メールのみを送信しています。

Bodyでは、のような単純な連結文字列を使用します。

Body := SomeText + #13#10 +
          SomeOtherText + #13#10 +
          SomeMoreText + #13#10 +
          FinalText;
.

生成された電子メールでは、 "#13#10"の一部は無視されません。 Body変数を記録し、そのテキストが新しい行に行くことがわかります。奇妙なことはすべての行ではなく、いくつかの行でのみ起こらないことです。

これがなぜ起こるのかについてのアイデアがありますか?チェックするために何かを提案できますか?いくつかの条件で#13#10とテキストの電子メールボディの間に不快な可能性がありますか?

更新

(あなたのコメントのおかげで)私はそれが見通しの視覚化の問題であることに気づいた、とにかく問題はまだ私にはまだ明確ではないことに気づいた。

Notepad ++で開かれた電子メールの本文である(私はOutlookから保存されたMSGファイルを開いていました)。 Outlookで問題がある壊れ(ただし、NP ++では、他のすべての系列のように見えるのがわかります): メモ帳++

Outlookの電子メールはこのようになります(Outlookでは、メッセージに特別なラインブレイクがあること、そして彼らが削除されたことを言うが、それらを復元するためのオプションを提供していることに注意してください。 Outlook Disprownの電子メール

そのオプションを選択した後、電子メールは大丈夫です。 画像の説明が入力されています

これがいくつかの改行でのみ起こる理由がわかりません。これはあなたが問題をより良い問題を理解するのを助けますか?

役に立ちましたか?

解決

IdMessage.NoEncode := Trueを使用して、ボディが RCF 821 エンコードされました。

またはより良いものを使用して、IdMessage.ContentType := 'text/html'#13#10 に置き換えます。

編集: これはOutlook Expressの問題です。

href="http:/support.microsoft.com/kb/287816" REL="NOFOLLOW NOREFERRER">こここちら。 回避策は、Outlookをブレークを削除しないようにするために、テキストの各行の先頭に2つの空の文字を追加することです。


Microsoftサポートは、Outlook Expressを使用して起こり得る回避策としてHTML形式を使用することをお勧めします。

方法2. HTMLまたはリッチテキスト形式を使用する 新しいアイテムを作成するときには、HTMLまたはリッチテキスト形式を使用できます。または、既存の投稿をこれらのフォーマットに変更できます。

他のヒント

It might be the email client stripping out some line breaks, if your ContentType is plain text.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top