Я хочу расшифровать электронную почту, которую я получаю в папке «Входящие», поэтому я написал:
$message = quoted_printable_decode(imap_fetchbody($inbox, $email_number, 1));
dd($message);
$doc = new \DOMDocument('1.0', 'UTF-8');
$internalErrors = libxml_use_internal_errors(true);
$doc->loadHTML($message);
$doc->saveHTML();
$xpath = new \DOMXPath($doc);
но $message - это закодированная строка, например:
"""
IApRdWFuZG9vIdgsdfsdfsdfsdfsdfdsgBhcnRuZXIuCkNsaWNrIGhlcmUg\r\n
aWYgdGhpcyBlbWFpbfhjfghfhfghfghfghcmx5LgpRdWFuZG9vCkxvZ2luOiBM\r\n
b25kb24gU3RlYWtob3VzZSBDby4gLSBDaGVsc2VhCiANCllvdSBoYXZlIGEgbmV3IHJlc2VydmF0\r\n
aW9uLg0KWW91IGhhdmUgYSBuZXcgY29uZmlybWVkIHJlc2VydmF0aW9uIGZyb20gUXVhbmRvbyAo\r\n
... ... ... etc.
Как я могу декодировать эту строку и создать DOM, который я могу использовать? Любая идея?
1. Это base64, а не кавычки. 2. Попросите того, кто отправляет вам электронное письмо, установить правильные заголовки Content-Encoding: в своих электронных письмах, и библиотека PHP IMAP должна правильно его декодировать.
Я попробовал $message = imap_base64(imap_fetchbody($inbox, $email_number, 1)); но я не получаю HTML-код, а только текст, например: "Нажмите здесь, если это письмо не отображается должным образом.\n HotelNews\n Логин: Лондон - Челси\n






Я написал это некоторое время назад в основном для GMAIL, он не полный, но может дать вам некоторые идеи Гитхаб В частности, это файл Результаты, который содержит материал для расшифровки электронных писем.