Perl で UTF-8 のメール件名を正しく送る

概要

メールの件名や表示名は、MIME対応ライブラリに文字列として渡します。独自のエンコード処理を重ねず、ヘッダー用APIを使います。

実施例

use Email::MIME;

my $mail = Email::MIME->create(
  header_str => [
    From    => 'sender@example.com',
    To      => 'recipient@example.com',
    Subject => '日本語の件名',
  ],
  attributes => { content_type => 'text/plain', charset => 'UTF-8' },
  body_str => '本文です。',
);

注意点

送信前に実在する宛先ではなくテスト用メールボックスで、件名・本文・添付の表示を確認します。

参考: 公式ドキュメント

Comments

Submitted by shrkw (not verified) on 2006/07/24 - 09:58

Permalink

なぜ、Jcodeモジュールのmime_encodeメソッドを使わないのかが理解できませんでした。

shrkw さん、コメントありがとうございます。 それでもよいと思います。 --- yas