Skip to content
Snippets Groups Projects
Commit d153d16c authored by Peter Rotich's avatar Peter Rotich
Browse files

Auto-detect bounced emails & log warnings

parent e32cf9e4
No related branches found
No related tags found
No related merge requests found
...@@ -106,10 +106,18 @@ if($ticket) { ...@@ -106,10 +106,18 @@ if($ticket) {
} elseif(($ticket=Ticket::create($var, $errors, 'email'))) { // create new ticket. } elseif(($ticket=Ticket::create($var, $errors, 'email'))) { // create new ticket.
$msgid=$ticket->getLastMsgId(); $msgid=$ticket->getLastMsgId();
} else { // failure.... } else { // failure....
// report success on hard rejection
if(isset($errors['errno']) && $errors['errno'] == 403) if(isset($errors['errno']) && $errors['errno'] == 403)
api_exit(EX_SUCCESS); //report success on hard rejection api_exit(EX_SUCCESS);
api_exit(EX_DATAERR,'Ticket create Failed '.implode("\n",$errors)."\n\n"); // check if it's a bounce!
if($var['header'] && TicketFilter::isAutoBounce($var['header'])) {
$ost->logWarning('Bounced email', $var['message'], false);
api_exit(EX_SUCCESS);
}
api_exit(EX_DATAERR, 'Ticket create Failed '.implode("\n",$errors)."\n\n");
} }
//Ticket created...save attachments if enabled. //Ticket created...save attachments if enabled.
......
...@@ -378,7 +378,7 @@ class MailFetcher { ...@@ -378,7 +378,7 @@ class MailFetcher {
//Is the email address banned? //Is the email address banned?
if($mailinfo['email'] && TicketFilter::isBanned($mailinfo['email'])) { if($mailinfo['email'] && TicketFilter::isBanned($mailinfo['email'])) {
//We need to let admin know... //We need to let admin know...
$ost->logWarning('Ticket denied', 'Banned email - '.$mailinfo['email']); $ost->logWarning('Ticket denied', 'Banned email - '.$mailinfo['email'], false);
return true; //Report success (moved or delete) return true; //Report success (moved or delete)
} }
...@@ -421,6 +421,12 @@ class MailFetcher { ...@@ -421,6 +421,12 @@ class MailFetcher {
if(isset($errors['errno']) && $errors['errno'] == 403) if(isset($errors['errno']) && $errors['errno'] == 403)
return true; return true;
# check if it's a bounce!
if($var['header'] && TicketFilter::isAutoBounce($var['header'])) {
$ost->logWarning('Bounced email', $var['message'], false);
return true;
}
//TODO: Log error.. //TODO: Log error..
return null; return null;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment