function mailqueue_callback($args) { if (!$args) { echo "NOT ARGS IN CALLBACK:"; pr($args); die; //return false; } global $container_options; $log = array(); $log['args'] = $args; $contanier = new Mail_Queue_Container_db($container_options); $obj = $contanier->getMailById($args['id']); if (!$obj) { echo "NOT OBJ IN CALLBACK:"; pr($obj); die; //return false; } $log['mailObject'] = (array) $obj; $headers = $obj->headers; $subject = $obj->headers['Subject']; $body = $obj->body; $mail_headers = ''; foreach ($headers as $key => $value) { $mail_headers .= "{$key}:{$value}\n"; } $mail = $mail_headers . "\n" . $body; $decoder = new Mail_mimeDecode($mail); if (!$decoder) { echo "NOT DECODER IN CALLBACK"; pr($decoder); die; //return false; } $decoded = $decoder->decode(array('include_bodies' => TRUE, 'decode_bodies' => TRUE, 'decode_headers' => TRUE)); $body = $decoded->body; $esmtp_id = $args['queued_as']; if (isset($args['greeting'])) { $greeting = $args['greeting']; $greets = explode(' ', $greeting); $server = $greets[0]; } else { $server = 'localhost'; } $log['serverResponse'] = compact('server', 'esmtp_id'); $res = sq("update mail_queue set log = '" . serialize($log) . "' where id = " . $args['id']); if (!$res) { echo "NOT RES IN CALLBACK"; pr($res); die; //return false; } if (CRON) { echo "Email ID " . $args['id'] . "\n"; echo "Log:\n\n"; print_r($log); echo "\n\n"; } }
<?php require_once '_init.php'; $emailQueueId = cleanRequest('id'); if (!$emailQueueId) { die("REQUEST = NULL"); } else { $mail_queue = new Mail_Queue($container_options, $mail_options); $contanier = new Mail_Queue_Container_db($container_options); if ($contanier->getMailById($emailQueueId)) { $mail_queue->deleteMail($emailQueueId); } header("Location: ../index.php"); }