Tripletail::Sendmail::MailQueue - 独自のメールキューを使用するメール送信
my $smail = $TL->newSendmail('SendMailQueue'); $smail->send(...); $smail->send(...); $smail->send(...); $smail->process;
送信要求されたメールを、 TripletaiL のメールキューに保存する.
キュー内に保存されたメールは、"process" 呼び出し時に一括して配送される。
Tripletail::Sendmail 参照。
何もしない。
Tripletail::Sendmail::Smtp 参照。配信時のタイムアウト時間を設定する。
$smail->process
実際の配信処理を行う。一般にこのメソッドは処理に時間が掛かる為、 CGIのプロセスから直接呼ぶべきではない。
queuedir = /home/www/mqueue/
メールキューディレクトリ。
Tripletail::Sendmail::Smtp 参照
erroraddr = null@example.org%localhost
配信エラー時にエラーメールを送るなら、その送信先を指定。
null@example.org%localhost のように使用する smtp サーバーを指定する。 % 以降は省略可能で、省略された場合は localhost となる。
null@example.org%localhost
%
localhost
errorlog = 1
配信エラー時にエラーログを記録するかどうか。 0の場合、保存しない。 1の場合、保存する。
メールキューのディレクトリには、queue,incoming,outgoing の3つのディレクトリが 作成済みで、同一のパーティションになければならない。
メールは、1行目にエンベロープFrom、2行目以降にエンベロープToが1行1アドレスで あり、空行を挟み、その後に本文データが続く。改行コードは \r\n とする。
\r\n
新規にキューにメールを入れる場合は、incoming ディレクトリ内に作成してから queue へ rename(2) する。ファイル名は、時刻、プロセスID等を使い、 ユニークになるようなものとする。
メールを処理するときは,outgoing に rename してから処理を行い、終わったら rm する。rename(2) する際、ファイル名の末尾に「.」とプロセスIDを記述する。
rm
rename(2)
メールを定期的に調査し、設定されたMTAへSMTPで送信を行う。failure の場合は 指定アドレスにメールを送るか、ログに書き込む(設定で変更可能)。deferral の場合は queue ディレクトリに rename(2) で戻す。末尾の .$pid は削除する。
プロセスが存在しないのに、outgoing にファイルがある場合は、deferral として queue ディレクトリにrename(2) で戻す。末尾の .$pid は削除する。
プロセスが存在しないのにincomingにファイルがある場合は、それを削除する。
Copyright 2006 YMIRLINK Inc.
This framework is free software; you can redistribute it and/or modify it under the same terms as Perl itself
このフレームワークはフリーソフトウェアです。あなたは Perl と同じライセンスの 元で再配布及び変更を行うことが出来ます。
Address bug reports and comments to: tl@tripletail.jp
HP : http://tripletail.jp/
To install Tripletail, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Tripletail
CPAN shell
perl -MCPAN -e shell install Tripletail
For more information on module installation, please visit the detailed CPAN module installation guide.