Beispiel #1
0
    if (time() - $timestamp > 15) {
        return false;
    }
    //returns true if signature is valid
    return hash_hmac('sha256', $timestamp . $token, $apiKey) === $signature;
}
if (isset($_POST)) {
    webhooks_debug("category: '" . $_POST["event"] . "' for: " . $_POST["recipient"]);
    if (verify($webhooks_mailgun_api_key, $_POST["token"], $_POST["timestamp"], $_POST["signature"]) == true) {
        if (filter_var($_POST["recipient"], FILTER_VALIDATE_EMAIL)) {
            switch ($_POST["event"]) {
                case "dropped":
                    webhooks_soft_bounce($_POST["recipient"], $_POST["code"]);
                    break;
                case "bounced":
                    webhooks_soft_bounce($_POST["recipient"], $_POST["code"]);
                    break;
                case "complained":
                    webhooks_spam_report($_POST["recipient"]);
                    break;
                case "error":
                    event_error($_POST["event"]);
                    break;
                default:
                    webhooks_debug(" == Invalid category: '" . $_POST["event"] . "' for: " . $_POST["recipient"] . " ==");
            }
        } else {
            // invalid email address
            webhooks_debug(" == Invalid email address: '" . $_POST["recipient"] . "' ==");
        }
        // if (filter_var($event["recipient"],FILTER_VALIDATE_EMAIL))
Beispiel #2
0
$json_payload = substr($dec_url, 16);
$events = json_decode($json_payload, true);
foreach ($events as $event) {
    if (filter_var($event['msg']['email'], FILTER_VALIDATE_EMAIL)) {
        switch ($event["event"]) {
            case "send":
                event_send($event);
                break;
            case "deferral":
                webhooks_soft_bounce($event['msg']['email'], "deferral: " . $event['msg']['bounce_description']);
                break;
            case "hard_bounce":
                webhooks_hard_bounce($event['msg']['email'], $event['msg']['bounce_description']);
                break;
            case "soft_bounce":
                webhooks_soft_bounce($event['msg']['email'], $event['msg']['bounce_description']);
                break;
            case "open":
                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);
Beispiel #3
0
     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);
     break;
 case "error":
     event_error($event);
     break;
 default:
     webhooks_debug(" == Invalid category: '" . $event["category"] . "' for: " . $event["recipient"] . " ==");