初心者だけどPerlが大好き

コードが世界を変える!

Perlでメールの仕組み

メールの文字コードには決まりごとがあり
メールヘッダ内の日本語は
ISO-2022-JP (いわゆる JIS コード)の文字列にしてから更にBASE64エンコードしたものにしなくてはなりません。
本文はISO-2022-JP (いわゆる JIS コード)にします。


メールヘッダの中で日本語が出てくるのは、差出人名、サブジェクト、コメント、添付ファイルのファイル名です。
ヘッダ部にマルチバイト文字の使用が許されていなので
ISO-2022-JP (いわゆる JIS コード)に変換したうえで さらにBASE64エンコードして7bit通信用にして送ります。
これは encode.pm が うまくやってくれます。
7bit通信路でもデータを壊されない様にするためにMIMEエンコード(Base64に変換する)のです。MIMEエンコードはMultipurpose Internet Mail Extensions です。


メール本文は
ISO-2022-JP (いわゆる JIS コード)に変換するだけ。
BASE64エンコードして7bit通信用にして送る必要はありません。


添付ファイルの内容は、
ISO-2022-JP (いわゆる JIS コード)に変換する必要はありません。
base64エンコードする。


メールの決まりとして、ヘッダ部と本文の境界には改行だけの行を使います。
ヘッダ部にはそういった行が存在してはいけません。