id:tokuhirom氏作の Email::MIME::MobileJP::Template を発見したので使ってみる。
PODにあるコードは動作しないので注意。renderメソッドのAPIが変わったのかな?ソースを見ると引数の最初に送り先のメールアドレスを指定しないとダメみたい。
それと、Email::MIME::MobileJP にあるソースも間違えているので注意。syntax=>’TTerse’ は newする時に引数で指定する事。
use Email::MIME::MobileJP::Template;
use Email::Sender::Simple;
my $token='123';
my $to_email = '<foo@hoge.jp>'; # <>で囲わないとdocomoで受信したときToがおかしなことに。
my $mail_maker = Email::MIME::MobileJP::Template->new(
'Text::Xslate' => {
syntax => 'TTerse',
path => ['email_tmpl/'] # テンプレートの保存場所
}
);
my $mail = $mail_maker->render(
$to_email, # 送信先
'signup.eml', # テンプレートファイル
{token => $token} # テンプレートで利用する変数
);
# メールを送信
Email::Sender::Simple->send($mail);
テンプレートファイル
path で指定したディレクトリにテンプレートファイルを作成する。MIMEヘッダはテンプレートでしか指定できない。Fromは記述しないと致命的なエラーとなるので注意。
./email_tmpl/signup.eml
Subject: [Example] サインアップ!
From: <name@hoge.com>
以下をクリックせよ
http://example.com/signup/[% token %]

