Perlでメール送信 - Bouldering & Com.の続き。
けっきょく、よくわからんのでベタベタな書き方で書いてました。
#!/usr/local/bin/perl -w use strict; use warnings; use Encode; use Jcode; use Mail::Header; use Mail::Internet; eval { my $head = new Mail::Header; $head->add( 'To', 'TO@example.com' ); $head->add( 'From', 'FROM@example.com' ); $head->add( 'Sender', 'SENDER_NAME' ); $head->add( 'Cc', 'CC@example.com' ); $head->add( 'Mime-Version', '1.0' ); $head->add( 'Content-Type', 'text/plain; charset=ISO-2022-JP' ); $head->add( 'Content-Transfer-Encoding', '7bit' ); # サブジェクトのエンコーディングスキームからiso-2022-jpに変換 # この例ではスクリプト自体がEUC-JPで書かれていると仮定 # そののち、BASE64エンコード $head->add( 'Subject', Jcode->new( Encode::from_to( '日本語サブジェクト', 'EUC-JP', 'iso-2022-jp' ) ) ->mime_encode() ); my $mail = Mail::Internet->new( 'Header' => $head ); # ボディのエンコーディングスキームからiso-2022-jpに変換 # この例ではスクリプト自体がEUC-JPで書かれていると仮定 $mail->body( Encode::from_to( '日本語ボディ', 'EUC-JP', 'iso-2022-jp' ) ); $mail->smtpsend( Host => 'HOST_SERVER' ); }; if ($@) { print($@); print($!); }
けど、一通り終わってプラプラしてたら、MIME::Lite::TT::Japaneseなるものを発見。これ使うと超楽じゃん。今後はこれにしよう。TTが必要だけど、モダンPerlなら使ってて普通だし。