Exemple #1
0
 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]);