1

FTP 経由でも電子メール経由でも同じメッセージを配信しようとしていますが、保存されたファイルのサイズが異なります。メッセージのテキスト コンテンツは同じですが、印刷できない文字のサイズが異なっている必要があります。

テキスト ファイルを FTP 経由で転送する場合 (EOL 文字の FTP 変換を防ぐためにバイナリ モードで)、配信されるファイル サイズは 7660 バイトです。

メールでメッセージを配信すると (smtp で送信され、POP3 で取得されます)、配信されたメッセージのサイズ (新しいファイルに直接ダンプされた場合) は 8043 バイトです。電子メールはプレーン テキストの電子メールとして送信され、メッセージは電子メールの本文全体で構成されます。これは 383 バイトのサイズの違いであり、行数は 385 行であり、この 2 つが関連していると思います... しかし、できる限り試してみると、電子メールで同じメッセージを受け取ることができません!

電子メール メッセージ データのキャリッジ リターンとラインフィードを削除する組み合わせをいくつか試しましたが、役に立ちませんでした。

MIME メッセージには、改行を処理する別の方法がありますか?

4

2 に答える 2

1

SMTP では、各行を CR LF で終了する必要があります。元のメールの各行が改行で終わっている場合、転送後にメーラーが各改行を CR LF に変換した可能性があります。これにより、各行に 1 バイト余分に追加されます。

逆に偶然かもしれません。いずれかの側のメール プログラムが、From 行などの余分なヘッダー行を追加しているかどうかを調べましたか?

于 2008-10-17T14:48:58.340 に答える
0

解決策ではありませんが、もちろん、2 つのメッセージをバイトごとに比較して、違いを正確に判断することをお勧めします。行末の問題のように聞こえるというあなたの発言に基づいて同意しますが、確認したほうがよいでしょう。

また、実際に FTP を使用してメッセージを転送している場合 (奇妙に聞こえますが、問題ありません)、FTP のバイナリ モードと ascii/text モードを切り替えた結果の違いを調査することをお勧めします。

于 2008-10-17T14:36:13.733 に答える