2006年03月20日 (月)
Sledge::Plugin::Email::Japanese で Return-Path
ずーっと、Sledge::Plugin::Email::Japaneseで、Return-Pathの設定が(以下のようにしか)出来ないと思ってたんだけど、
$self->send_mail(
'foo.eml' => {
Subject => 'Hi!',
To => $self->r->param('email'),
TmplParams => {
name => $self->r->param('name'),
},
},
['send', 'error@example.jp']
);
内部で使っている、MIME::Lite::TT::Japanese的には
my $msg = MIME::Lite::TT::Japanese->new( : : 'Return-Path' => 'error@example.jp' ); $msg->send();
ってやったら、指定できる、なんでS::P::E:Jでできないか調べてみた。
結論からいうと、S::P::E:Jだけの問題では無くて、内部的につかっているMIME::Lite::TT::Japanese(MIME::Lite)の仕様上の問題でした。
sendのパラメータを指定すると
$msg->send(['sendmail']);
指定した、Return-Pathが上書きされてしまうです。なんで、単純に Config から send を消したら、Return-Pathを指定できました。
$self->send_mail(
'foo.eml' => {
Subject => 'Hi!',
To => $self->r->param('email'),
Return-Path => 'error@example.jp',
TmplParams => {
name => $self->r->param('name'),
},
},
);
S::P::E::J のPODにsendを指定の例が書いてあって、それをそのまま書いていたので、毎回 'Return-Path' が上書きされてしまっていた罠。
なんで、sendを指定したい例の方がすくないと思うので、PODからその設定を消してしまってもいいんかなー。そうすると、Fromしか指定しなくなって、これまた設定ファイル的に微妙な感じになっちゃいますが。
それはそうと、このプラグイン勉強会でやったようなきがするけどアップしてなかったけ?勉強会で、Return-Path 指定できないんじゃね? っつって、$sendmail_opt を渡すようになったきがする。
- 3/21加筆, S::P::E:Jだけの問題ぽく読めたので。
posted by takefumi
|
この日記へリンク
|
コメント(2)
|
トラックバック(0)
この日記へのトラックバック
この日記へのコメント
>>
第3引数に arrayref を渡すこともできます。その場合、MIME::Lite::TT::Japanese->send への引数として扱われます。
sender をメールごとに変えたい場合などに使うとよいでしょう。
<<
と Nihongo.pod に書いてあるです。
くわしくは↓の記事をどうぞ。
http://tokuhirom.dnsalias.org/~tokuhirom/cl/2006-03-21-2.html
posted by tokuhirom at 2008年12月02日 21時26分 #

