}
$this->server = DB_DataObject::Factory('core_notify_server')->getCurrent($this);
-
+ if (!$force && $w->server_id != $this->server->id) {
+ $this->errorHandler("Server id does not match - use force to try again\n");
+ }
if (!empty($opts['debug'])) {
print_r($w);
$res = $mailer->send($p->email, $email['headers'], $email['body']);
- $this->debug("GOT response to send: ". var_export($res,true));
+ if (is_object($res)) {
+ $res->backtrace = array();
+ }
+ $this->debug("GOT response to send: ". print_r($res,true));
if ($res === true) {
// success....
$errmsg= $res->userinfo['smtpcode'] . ':' . $res->userinfo['smtptext'];
}
//print_r($res);
- $this->addEvent('NOTIFY', $w, 'GREYLISTED - ' . $errmsg);
+ $ev = $this->addEvent('NOTIFY', $w, 'GREYLISTED - ' . $errmsg);
$this->server->updateNotifyToNextServer($w, strtotime('NOW + ' . $retry . ' MINUTES'),true);
$errmsg= $res->userinfo['smtpcode'] . ':' . $res->userinfo['smtptext'];
}
+ if ($res->userinfo['smtpcode'] == 550) {
+ if ($this->server->checkSmtpResponse($errmsg, $core_domain)) {
+ $ev = $this->addEvent('NOTIFY', $w, 'BLACKLISTED - ' . $errmsg);
+ $this->server->updateNotifyToNextServer($w, strtotime('NOW + ' . $retry . ' MINUTES'),true);
+ $this->errorHandler( $ev->remarks);
+ }
+ }
+
+
$ev = $this->addEvent('NOTIFYFAIL', $w, ($fail ? "FAILED - " : "RETRY TIME EXCEEDED - ") . $errmsg);
$w->flagDone($ev, '');
- if ($res->userinfo['smtpcode'] == 550) {
- $this->server->checkSmtpResponse($errmsg, $core_domain);
- }
+
$this->errorHandler( $ev->remarks);