#1 2013-11-26 09:53:31

admin
管理者

送信メール 本文中に「.」ドットのみの行がある場合のトラブル。

問題:
メール本文中の本文中に「.」ドットのみの行があった場合、受信側でそれ以降のデータを受信出来ない。
メール本文中の行頭に「.」ドットが合った場合、「.」ドットが削除される。

メール本文中の行頭の「.」ドットは、「..」にする必要があるが、
「.NET Framework 2.0/3.0/3.5/4.0」の環境下では、「.」ドットがエスケープされない。
「.NET Framework 4.5」では、改善されエスケープされる。
この問題は、「.NET FrameworkのAlternateViewクラス」で本文を追加した場合に起こります。

MailMakerPop+は、送信処理に「.NET FrameworkのAlternateViewクラス」を利用しています。

解決策:

■解決策[1]
.NET Framework 4.0の場合、行頭の「.」ピリオドを2つ「..」にする。
iill_SMTP_setBody_Add( "plain" ; Substitute ( simpleExample_send::body_text ; "¶." ; "¶.." ) )
iill_SMTP_setBody_Add( "html" ; Substitute ( simpleExample_send::body_html ; "¶." ; "¶.." ) )

■解決策[2]
送信処理を行うPCを.NET Framework 4.5にする。
この場合、スクリプトの書き換えは、不要です。

■解決策[3]
.NET Framework 4.0|4.5 混在の場合、
iill_SMTP_setBody_Add( "plain" ; Substitute ( simpleExample_send::body_text ; "¶." ; "¶ ." ) )
iill_SMTP_setBody_Add( "html" ; Substitute ( simpleExample_send::body_html ; "¶." ; "¶ ." ) )
※但し、この方法の場合、行頭にピリオドがあった場合、受信側で「スペース+ピリオド」になってしまいます。

オフライン

Registered users online in this topic: 0, guests: 1
[Bot] claudebot

Board footer

Powered by FluxBB
Modified by Visman

[ 0.015 秒でページを生成, 9 クエリーを実行 - 使用メモリー: 1.54 MiB (ピーク: 1.66 MiB) ]