日本語を含むメールヘッダ
日本語を含むメールヘッダ
メール送信時に、日本語などマルチバイト文字を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にて見つからなかったのですが、情報や文書番号などご教授いただければ助かります。
よろしくお願いいたします。
お礼
ヘッダ情報はレベルが伴えば書き換え可能ですよね。 以前プロバイダーにヘッダ情報の質問をしましたが「プロバイダーの特殊の暗号が含まれています」とのご返答でした。 同じように送受信文字数などの暗号でも含まれているのか知りたかった次第です。 ありがとうございました