Mailgun просмотр сохраненных сообщений PHP

#php #api #mailgun

#php #API #mailgun

Вопрос:

Я пытаюсь просмотреть сохраненное содержимое сообщения через MailGun PHP API. Получить идентификатор сообщения достаточно просто, так как я просто просматриваю последние действия в журнале.

 $mg = Mailgun::create('MY API KEY');
$domain = 'mydomain.com';
$result = $mg->get("$domain/log", array(
    'limit' => 300
));
print_r($result);
 

Результат выглядит следующим образом:

 stdClass Object
(
    [http_response_body] => stdClass Object
        (
            [total_count] => 9958
            [items] => Array
                (
                    [0] => stdClass Object
                        (
                            [hap] => opened
                            [message] => Opened: email@example.com
                            [type] => info
                            [created_at] => Wed, 16 Dec 2020 19:42:40 -0000
                            [message_id] => xxxx@mydomain.com
                        )

                )

        )

    [http_response_code] => 200
)
 

Теперь у меня message_id есть, и я хотел бы просмотреть это сообщение… Я предполагаю, что это будет что-то ВРОДЕ этого:

 $result = $mg->get("$domain/message", array(
    'message_id' => 'xxxx@mydomain.com'
));
 

Но, увы, он возвращает только статус 200

Я просмотрел их документацию по версии Python… однако я не могу на всю жизнь найти, как просмотреть одно электронное PHP письмо. Я думаю, что я очень близок, я уверен, что мне просто не хватает соглашения об именовании параметров… Я думаю. Может кто-нибудь указать мне правильное направление?

Комментарии:

1. Привет, вы получили решение? Я просто застрял в одной и той же точке и изо всех сил

2. Пока нет! Это проект с низким приоритетом, поэтому я терпеливо ждал ответа.

3. получил это, просто нашел это

Ответ №1:

Я использую mailgun / mailgun-php»: » ^ 3.0 для отправки почты, и вот как я получил содержимое сообщения из хранилища mailgun

     $msg_id  = 'xxxxxxxxxxxxxxxx@xxxxxxx.xxx';
    $mg = Mailgun::create('key-xxxxxxxxxxxxxxxxxxxxxxx');
    // here you have got the single email with complete response
    $res =  $mg->events()->get('xxxxxxxxx.xx.xx',array('message-id'=>$msg_id));
    $stor = $res->getStorage();
    
   //and here you have got the URL and Key and you can use these parmas to get the message with curl

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $stor['url']);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_USERPWD, "api:{key which return in the above object}");
    curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
    $output = curl_exec($ch);
    $jo = json_decode($output,true);
    
    curl_close($ch);
 

[[Ответ api][1]][1]
[1]: https://i.stack.imgur.com/syYrV.png