添付ファイルつきのメールを送信する。
2008.04.21
その他
外部(内部でも可能)のSMTPを使用して、メールを送信します。
日本語を使用した添付ファイルつきのメールを送信するには、エンコードを正しくする必要があります。
メールヘッダー部分については、MIME::Wordsモジュールのencode_mimewordを使用します。
本文は、iso-2022-jpにコンバートしています。
現在ほとんどのメール受信ソフトでUTF-8でエンコードされたメールを見ることができますが、
WEBインターフェイスの場合は、そのコンテンツのエンコードによって文字化けしてしまうことがあるようです。そのため、日本語メールのエンコード方式でデファクトスタンダードになっている、iso-2022-jp(JIS)で送るのが親切です。
Active Perlでも動くスクリプトは以下のところにあります。
河馬屋二千年堂さんのページ
Perlでメールを送る
さて、これはjcode.plを使用しているので、Encode.pmを使用するように変更するには以下の部分を加えて対応します。
UTF-8の文字をiso-2022-jpに変更するように記述しています。
use Encode;
#=============================================
# Encode.pmを使って、JISコードへ変換
#=============================================
sub ConvJis($) {
local $sWk =$_[0];
return encode(‘iso-2022-jp’, decode(‘utf-8’, $sWk));
}