Parse Postmark Отказов хук в PHP - PullRequest
0 голосов
/ 19 декабря 2011

Я использую Postmark для отправки электронных писем. Но почтовый штемпель позволяет вам установить URL для обработки отклоненных писем. Я хочу использовать это, но не знаю, как получить и обработать данные.

Мой API работает, но я не знаю, как получить данные, отправляемые штемпелем в мой API.

<?php

class BackendBillingAPI
{
    public static function postmarkBounceHook()
    {
        $log = new SpoonLog('custom', PATH_WWW . '/backend/cache/logs/billing');

        // logging when we are in debugmode
        if(SPOON_DEBUG) $log->write('Billing post (' . serialize($_POST) . ') triggered.');
        if(SPOON_DEBUG) $log->write('Billing get (' . serialize($_GET) . ') triggered.');
        if(SPOON_DEBUG) $log->write('Billing _REQUEST (' . serialize($_REQUEST) . ') triggered.');

    }
}

Есть мысли / идеи?

1 Ответ

1 голос
/ 21 января 2012

Вам нужно было бы проанализировать данные json внутри POST, и вы, очевидно, не можете полагаться на _POST (поскольку это не составная форма, см. this для получения дополнительной информации)

Вот простой код, который извлекает несколько параметров из отказов почтового штемпеля и генерирует электронное письмо. Вы можете получить параметры и делать все, что вам нужно, конечно,

<?php
$form_data = json_decode(file_get_contents("php://input"));

// If your form data has an 'Email Address' field, here's how you extract it:     
$email_address = $form_data->Email;
$details = $form_data->Details;
$type = $form_data->Type;

// Assemble the body of the email...                                              
$message_body = <<<EOM
Bounced Email Address: $email_address
Details: $details
Type: $type
EOM;
if ($email_address) {
    mail('ENTER YOUR EMAIL ADDRESS',
         'Email bounced!',
         $message_body);
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...