[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[postfix-jp: 1754] [Summary] 送信完了を検出する方法



宇都宮です。


Tsuda wrote:
>> ※現在メールの送信時にはsendmailに
>>   ' -f{メールごとのにつけるユニークID@example.com} '
>>  とオプションを与えています。
> 
> 恒久的な送信エラーが生じたら、上の宛先にメールが戻ってきます。
> それを受信して、解析するスクリプトを作成するという方法はいかがでしょうか。

返事が遅れました。ご回答ありがとうございます。

実はその方法はバウンスエラーを検出する方法として
すでに利用しておりまして、その上で送信終了自体を
検出するにはどうするのか、という質問をしておりました。


今回は結局、定期的にmailqコマンドを叩いて、
それを解析する手法をとっています。

# コマンドを叩くにはPerlの方が適していますが、
# DB操作の兼ね合いでPHPで実装しています。
<?php
$results = array();
exec("/usr/bin/mailq", $results);

//
// メールIDの行を抽出
// 3DD6DCC71     12473 Fri Feb  3 15:13:12  mailsys+0110@xxxxxxxxxx
$results = preg_grep('/^[0-9A-F]{8}\*?/', $results);

//
// 送信キューに残っているメールを調べる($issues_remain)
//
$issues_remain = array();
foreach($results as $line) {
	preg_match(getSenderPattern(), $line, $matches);

	// 'issue_id' => 'mailsys+0110@xxxxxxxxxx'
	$issues_remain[$matches[1]] = $matches[0];
}

?>
_______________________________________________
Postfix-jp-list mailing list
Postfix-jp-list@xxxxxxxxxxxxxxxxxxxx
http://lists.sourceforge.jp/mailman/listinfo/postfix-jp-list

References
[postfix-jp: 1726] 送信完了を検出する方法, utsunomiya
[postfix-jp: 1727] Re: 送信完了を検出する方法, Tsuda

[検索ページ] [Postfix-JP ML Home]