TL::Sendmail::MailQueue - 独自のメールキューを使用するメール送信

# NAME

TL::Sendmail::MailQueue - 独自のメールキューを使用するメール送信

# SYNOPSIS

      my $smail = $TL->newSendmail('SendMailQueue');

      $smail->send(...);
      $smail->send(...);
      $smail->send(...);

      $smail->process;

# DESCRIPTION

送信要求されたメールを、Lib7のメールキューに保存する．

キュー内に保存されたメールは、"process" 呼び出し時に一括して配送される。

## METHODS

new

  TL::Sendmail 参照。

connect
disconnect

  何もしない。

setTimeout

  TL::Sendmail::Smtp 参照。配信時のタイムアウト時間を設定する。

send

  TL::Sendmail 参照。

process

        $smail->process

  実際の配信処理を行う。一般にこのメソッドは処理に時間が掛かる為、 CGIのプロセスから直接呼ぶべきではない。

## Ini パラメータ

queuedir

        queuedir = /home/www/mqueue/

  メールキューディレクトリ。

timeout
host

  TL::Sendmail::Smtp 参照

erroraddr

        erroraddr = null@example.org%localhost

  配信エラー時にエラーメールを送るなら、その送信先を指定。

  `null@example.org%localhost` のように使用するsmtpサーバーを指定する。 %以降は省略可能で、省略された場合はlocalhostとなる。

errorlog

        errorlog = 1

  配信エラー時にエラーログを記録するかどうか。 0の場合、保存しない。 1の場合、保存する。

## 実装

メールキュー

  メールキューのディレクトリには、queue,incoming,outgoing の３つのディレクトリが 作成済みで、同一のパーティションになければならない。

  メールは、１行目にエンベロープFrom、２行目以降にエンベロープToが１行１アドレスで あり、空行を挟み、その後に本文データが続く。改行コードは `\r\n` とする。

送信時 (TL::MailQueue)

  新規にキューにメールを入れる場合は、incoming ディレクトリ内に作成してから queue へ rename(2) する。ファイル名は、時刻、プロセスID等を使い、 ユニークになるようなものとする。

配信時 (mailqueue-process)

  メールを処理するときは，outgoing に rename してから処理を行い、終わったら rm する。rename(2) する際、ファイル名の末尾に「.」とプロセスIDを記述する。

  メールを定期的に調査し、設定されたMTAへSMTPで送信を行う。failure の場合は 指定アドレスにメールを送るか、ログに書き込む（設定で変更可能）。deferral の場合は queue ディレクトリに rename(2) で戻す。末尾の .$pid はそのまま履歴。

修復 (mailqueue-recover)

  プロセスが存在しないのに、outgoing にファイルがある場合は、deferral として queue ディレクトリにrename(2) で戻す。末尾の .$pid はそのまま履歴。

  プロセスが存在しないのにincomingにファイルがある場合は、それを削除する。

# SEE ALSO

TL
TL::Sendmail

# AUTHOR INFORMATION

Copyright 2006 YMIRLINK Inc. All Rights Reserved.

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/

TL::Sendmail::MailQueue - 独自のメールキューを使用するメール送信

# INDEX

- AUTHOR INFORMATION
- DESCRIPTION
- Ini パラメータ
- METHODS
- NAME
- SEE ALSO
- SYNOPSIS
- TL
- TL::Sendmail
- connect
- disconnect
- erroraddr
- errorlog
- host
- new
- process
- queuedir
- send
- setTimeout
- timeout
- メールキュー
- 修復 (mailqueue-recover)
- 実装
- 送信時 (TL::MailQueue)
- 配信時 (mailqueue-process)

TL::Sendmail::MailQueue - 独自のメールキューを使用するメール送信