#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