1
是否有一個梨郵件隊列報告腳本,可以從您的MQ數據庫構建漂亮的圖表和圖形?我將MQ設置爲cron作業,並且想要將一些報告與我的管理控制檯相關聯。梨郵件隊列報告腳本?
是否有一個梨郵件隊列報告腳本,可以從您的MQ數據庫構建漂亮的圖表和圖形?我將MQ設置爲cron作業,並且想要將一些報告與我的管理控制檯相關聯。梨郵件隊列報告腳本?
不是「原生」,但是您可以使用版本1.2.3中的新回調支持來填充數據庫中的日誌表並從中生成報告。在從數據庫的mail_queue表中刪除相關條目之前調用回調函數,因此,如果需要,您可以添加額外字段以插入到日誌/報表表格中。
您需要使用Mail和Net_SMTP PEAR軟件包的最新版本才能檢索esmtp id和問候語的詳細信息,如果您需要它們用於報告。 此外,如果您想解碼電子郵件的正文並將其存儲爲報告,則需要安裝Mail_mimeDecode PEAR軟件包。
像這樣提供的回調函數的名稱:
$dn = $mail_queue->sendMailsInQueue(
MAX_AMOUNT_MAILS,
MAILQUEUE_START,
MAILQUEUE_MAX_RETRY,
"callback_fn");
function callback_fn($args) {
$row = get_mail_queue_row($args['id']);
$headers = unserialize($row['headers']);
$subject = $headers['Subject'];
$body = unserialize($row['body']);
$mh = '';
foreach($headers as $key=>$value) {
$mh .= "$key:$value\n";
}
$mail = $mh . "\n" . $body;
$decoder = new Mail_mimeDecode($mail);
$decoded = $decoder->decode(array(
'include_bodies' => TRUE,
'decode_bodies' => TRUE,
'decode_headers' => TRUE,
));
$body = $decoded->body;
if (isset($args['greeting'])) {
$greeting = $args['greeting'];
$greets = explode(" ", $greeting);
$detail = "esmtp id: {$args['queued_as']}; server: {$greets[0]}";
} else {
$detail = "esmtp id: {$args['queued_as']}; server: localhost";
}
insert_to_log($detail, $subject,...);
}
偉大的答案,但我不知道我有這樣的帶寬,將尋求像postmarkapp.com服務(我沒有與服務的關係) 每發送1000封電子郵件的收費爲1.50美元聽起來像儲蓄給我,直到我的用戶羣顯着增長。當它發生時,我會回來完全消化它! – robr 2010-04-17 17:16:08