1

私は Perl を初めて使用し、本文部分に HTML を含むMail::Senderモジュールを使用して電子メールを送信しようとしています。私はdebug => 'x.log'メール送信プロセスを分析するために使用しています。

Perl は奇妙なことに、HTML コードの各「=」記号の後に 3D を配置し、スペースごとに 20 を配置しているようです (HTML の URL コードのように見えます)。この後、クライアントは電子メールを受信しません。ここで何が問題になる可能性がありますか?(例:border="5"となりますborder=3D"5")

$sender->SendEnc($BODY);メッセージを送信し、$sender->Open({to => "$userAtFaultEmail", subject => "$email_subject", ctype => "text/html", encoding => "quoted-printable"'});メール接続を開くために使用しています。

4

1 に答える 1

3

これは完全に自然なことです。quoted-printable -encoding では、等号=はエスケープ文字であるため、それ自体をエスケープする必要があります。エスケープ文字の後に、文字の 16 進数が表示されます。メールクライアントはそれを正しくデコードします。これが気に入らない場合は、エンコーディングを UTF-8 などに変更できます。ただし、これはそれほど一般的ではなく、レガシー クライアントで新しい問題が発生する可能性があります。

quoted-printableに関するウィキペディアのエントリは次のとおりです。このエンコーディングの理由は、8 ビット文字をエンコードすることですが、電子メールは伝統的に 7 ビット ASCII のみを送信します。

于 2012-11-26T22:57:56.027 に答える