HTML_FlexyFramework::get()->Core_Mailer['debug'] = true;
}
- $sent = (empty($w->sent) || preg_match('/^(0|1)000/', $w->sent)) ? false : true;
+ $sent = (empty($w->sent) || strtotime( $w->sent) < 100 ) ? false : true;
if (!$force && (!empty($w->msgid) || $sent)) {
$ww = clone($w);
if (!$sent) { // fix sent.
- $w->sent = preg_match('/^(0|1)000/', $w->sent) ? $w->sqlValue('NOW()') :$w->sent; // do not update if sent.....
+ $w->sent = strtotime( $w->sent) < 100 ? $w->sqlValue('NOW()') :$w->sent; // do not update if sent.....
$w->update($ww);
}
$this->errorHandler("message has been sent already.\n");
if (isset($email['later'])) {
-
+
$this->server->updateNotifyToNextServer($w, $email['later'],true);
$this->errorHandler("Delivery postponed by email creator to {$email['later']}");
$this->errorHandler("config Mail[helo] is not set");
}
-
+ $email = DB_DataObject::factory('core_notify_sender')->filterEmail($email, $w);
+
foreach($mxs as $mx) {
}
+
+
$res = $mailer->send($p->email, $email['headers'], $email['body']);
if (is_object($res)) {
$errmsg= $res->userinfo['smtpcode'] . ':' . $res->userinfo['smtptext'];
}
- if ($res->userinfo['smtpcode'] == 550) {
+ if ( $res->userinfo['smtpcode']> 500 ) {
+
+ DB_DataObject::factory('core_notify_sender')->checkSmtpResponse($email, $w, $errmsg);
+
+
if ($this->server->checkSmtpResponse($errmsg, $core_domain)) {
$ev = $this->addEvent('NOTIFY', $w, 'BLACKLISTED - ' . $errmsg);
$this->server->updateNotifyToNextServer($w, $retry_when,true);