1

UTF-8 でコード化されたヘブライ語の HTML 電子メールを、埋め込まれた画像と添付ファイルと共に送信するプログラムを作成することに成功しました。

タイプ JPG または TXT の添付ファイルを含む電子メールは迅速に送信されますが、PDF 添付ファイルを含む電子メールは送信に長い時間 (1 分) かかることに気付きました。tmemo コンポーネントが SMTP コンポーネントの OnStatus イベントから AStatusText 文字列を受け取るように調整したところ、プログラムがテキスト (正しい) と添付ファイル (正しくない) の両方をエンコードしていることがわかりました。

添付ファイルがエンコードされないようにして、メールをより速く送信するにはどうすればよいですか?

時刻を示す SMTP コンポーネントからのログを次に示します。

18:44:01 smtp: Connected.
18:44:04 smtp: Encoding text
18:44:04 smtp: Encoding attachment
18:44:04 smtp: Encoding attachment
18:45:05 smtp: Disconnecting.
18:45:05 smtp: Disconnected.
18:45:05 disconnected

サイズ491KBのPDFファイルをエンコードするのに1分かかりました。この間、プログラムは応答しません (ログを見るまで、プログラムがハングしたと思っていました)。

少し違う質問をする必要があるかもしれません:なぜこれをエンコードする必要があるのですか?

4

1 に答える 1

0

すべての添付ファイルは常に MIME64 を使用してエンコードされます。そうしないと、あなたの電子メールはあなた以外の誰も読むことができません。インターネット電子メールの仕組みを変えるのはあなたの仕事ではありません。

あなたの遅延の理由はおそらく、ホスティング会社によって PDF が「ウイルススキャン」されているためか、一方で、巨大な PDF を添付していて、それをエンコードするのに 1 分かかる場合、私は驚かないでしょう。巨大な PDF ファイルを MIME64 に変換すると、省略できるステップではありませんが、長い時間がかかります。ただし、PDF は 491 KB と非常に小さいため、遅延はサーバー側で発生し、PDF をスキャンしている可能性があります。SMTP プロセスは、あなたの側が送信し、相手側が応答するダイアログであることを思い出してください。相手側が応答する前の遅延は、遅延が発生する理由を理解せずに修正できるものではありません。あなたが持っていた「エンコードなし」の考えは合理的ではありません。

ただし、ウイルス/スパム スキャンは妥当な仮説であり、通常の 30 秒の送信時間に 30 秒追加される可能性があります。この仮説を検証するには、pdf の名前を「test.pdf」から「test.p@d@f$」に変更し、送信時間が 60 秒から約 30 秒に短縮されるかどうかを確認します。インターネット パイプの速度や、MIME64 でエンコードされた EMAIL の大きさについては述べていませんが、PDF よりも 1.5​​ 倍大きく、約 600 ~ 800 キロバイトになる可能性があります。非常に遅い DSL または ISDN 接続を使用している場合も、それが原因です。

于 2013-01-17T18:14:21.890 に答える