2011年 4月 5

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 %]

携帯電話宛のメールが正しく送れない?

.. continue reading ..


Filed under: perl,perlモジュール

Trackback Uri