}
$this->server = DB_DataObject::Factory('core_notify_server')->getCurrent($this);
- if (!$force && $w->server_id != $this->server_id) {
+ if (!$force && $w->server_id != $this->server->id) {
$this->errorHandler("Server id does not match - use force to try again\n");
}
$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);