Example #1
0
function webhooks_soft_bounce($email, $additionalInfo = '')
{
    global $webhooks_time;
    global $webhooks_bounce_limit;
    $mysqli = dbConnect();
    webhooks_debug("Email soft bounced: {$email}\t{$additionalInfo}");
    $sql = 'UPDATE subscribers SET bounce_soft = bounce_soft+1 WHERE email = "' . $email . '"';
    $r = mysqli_query($mysqli, $sql);
    // Check for bounce limit
    $sql = 'SELECT bounce_soft FROM subscribers WHERE email = "' . $email . '" LIMIT 1';
    $r2 = mysqli_query($mysqli, $sql);
    if ($r2 && mysqli_num_rows($r2) > 0) {
        while ($row = mysqli_fetch_array($r2)) {
            $bounce_soft = $row['bounce_soft'];
        }
        // while($row = mysqli_fetch_array($r2))
        if ($bounce_soft >= $bounce_limit) {
            webhooks_hard_bounce($email, "--> Exceeded Soft Bounce Limit ({$bounce_soft})");
        }
        // if($bounce_soft >= 3)
    }
    // if ($r2 && mysqli_num_rows($r2) > 0)
}
Example #2
0
                event_open($event);
                break;
            case "click":
                event_click($event);
                break;
            case "spam":
                webhooks_spam_report($event['msg']['email']);
                break;
            case "spamreport":
                webhooks_spam_report($event['msg']['email']);
                break;
            case "unsub":
                event_unsubscribe($event);
                break;
            case "reject":
                webhooks_hard_bounce($event['msg']['email'], "reject: " . $event['msg']['bounce_description']);
                break;
            default:
                webhooks_debug(" == Invalid category: '" . $event["category"] . "' for: " . $event["recipient"] . " ==");
        }
    } else {
        // invalid email address
        webhooks_debug(" == Invalid email address: '" . $event['msg']['email'] . "' ==");
    }
    // if (filter_var($event["recipient"],FILTER_VALIDATE_EMAIL))
}
// foreach($events as $event)
//----------------------------------------------------------------------------------//
//              MANDRILL EVENTS UNHANDLED BY WEBHOOKS
//----------------------------------------------------------------------------------//
function event_open($event)
Example #3
0
// if($critsend_signature != hash_hmac("sha256", $json_payload, $critsend_webhooks_key))
$events = json_decode($json_payload, true);
foreach ($events as $event) {
    if (filter_var($event["recipient"], FILTER_VALIDATE_EMAIL)) {
        switch ($event["category"]) {
            case "open":
                event_open($event);
                break;
            case "click":
                event_click($event);
                break;
            case "unsubscribed":
                event_unsubscribe($event);
                break;
            case "hard_bounce":
                webhooks_hard_bounce($event["recipient"], $event["status-code"]);
                break;
            case "soft_bounce":
                webhooks_soft_bounce($event["recipient"], $event["status-code"]);
                break;
            case "bounce":
                webhooks_soft_bounce($event["recipient"], $event["status-code"]);
                break;
            case "blocked":
                event_blocked($event);
                break;
            case "spam_report":
                webhooks_spam_report($event["recipient"]);
                break;
            case "filtered":
                event_filtered($event);