function get_action_from_status_code($code) { if ($code == '') { return ''; } $ret = BounceHandler::format_status_code($code); $stat = $ret['code'][0]; switch ($stat) { case 2: return 'success'; break; case 4: return 'transient'; break; case 5: return 'failed'; break; default: return ''; break; } }
$query = "REPLACE INTO suppress_emails " . " (email, updated_ts, reason, status) VALUES (" . $dbw->addQuotes($email) . "," . $dbw->addQuotes($updatedTs) . "," . $dbw->addQuotes($status) . "," . $dbw->addQuotes($reason) . ")"; self::d("Query[{$query}]"); $dbw->query($query, __METHOD__); } public static function main($days) { if (empty($days) || $days <= 0) { $days = self::NUM_DAYS; } self::d("Getting bounced emails!"); $bounces = self::getBouncedEmails($days); if ($bounces === false) { self::e("Unknown error occured while fetching bounces!"); exit(1); } self::d("Got " . count($bounces) . " emails"); if (empty($bounces) || count($bounces) <= 0) { self::i("Did not get any bounce data. Might not be an error!"); exit(0); } self::d("Updating bounces to the database!"); $i = 0; foreach ($bounces as $bounce) { self::updateDb($bounce); $i++; } self::i("Processed {$i} email bounce(s)!"); } } BounceHandler::main($argv[1]);