日本語を含むメールヘッダ
日本語を含むメールヘッダ
メール送信時に、日本語などマルチバイト文字をSubjectなどに含めたい場合はMIME、BASE64エンコードしますが、このときの文字数/行の制限に疑問があります。
RFCを見ると1行あたり76文字とされていますが、様々なサンプルや配布スクリプトなどのソースを見ても、それが考慮されていないのです。
たとえばPerlの場合、JcodeやMIME::Base64などを使ってエンコードした文字列を、以下のように使用しているパターンが多いです。
$subject = $jcode->set($subject)->mime_encode;
open(MAIL, "| $sendmail");
print MAIL (Fromなど出力)
print MAIL "Subject: $subject\n";
print MAIL (その他のフィールド出力)
これでは「Subject: 」という文字列の分だけ76文字を超える可能性があると思うのですが…。つまり「Subject: 」も含めてエンコードルーチンに渡さなければいけないと思うのです。
単なるバグかと思ったのですが、結構多くのサンプルなどを見ても同様で、何か理由があるのでしょうか。あるいは本来の手段があるのでしょうか。
そもそも「1行あたり76文字」というのは、フィールド名を含めないのでしょうか。
また、エンコードしない場合の、つまりASCII文字のみの場合の行あたりの文字数制限について、RFCにて見つからなかったのですが、情報や文書番号などご教授いただければ助かります。
よろしくお願いいたします。