imap_fetchbody против Gmail API получить метод

Формат возврата html imap_fetchbody против Gmail api GET метод разные.

Я пишу электронные письма в файл, а затем снова импортирую в Thunderbird. С imap_fetchbody Письменные письма загружаются в буревестник без проблем с заполнением, в то время как тот же адрес электронной почты возвращается API имеет проблему заполнения.

Самое большое различие, которое я вижу, 3D.

Вот несколько строк из imap_fetchbody:

<html lang=3Den><head><meta content=3D"date=3Dno" name=3D"format-detection"=
><meta content=3D"email=3Dno" name=3D"format-detection"><style>.awl a {colo=
r: #FFFFFF; text-decoration: none;}.abml a {color: #000000; font-family: Ro=
boto-Medium,Helvetica,Arial,sans-serif; font-weight: bold; text-decoration:=
none;}.adgl a {color: rgba(0, 0, 0, 0.87); text-decoration: none;}.afal a =
{color: #b0b0b0; text-decoration: none;}@media screen and (min-width: 600px=
) {.v2sp {padding: 6px 30px 0px;} .v2rsp {padding: 0px 10px;}}</style></hea=
d>

И несколько строк из GMAIL api GET метод:

<html lang=en><head><meta content="date=no" name="format-detection"><meta
content="email=no" name="format-detection"><style>.awl a {color: #FFFFFF;
text-decoration: none;}.abml a {color: #000000; font-family: Roboto-
Medium,Helvetica,Arial,sans-serif; font-weight: bold; text-decoration:
none;}.adgl a {color: rgba(0, 0, 0, 0.87); text-decoration: none;}.afal a
{color: #b0b0b0; text-decoration: none;}@media screen and (min-width:
600px) {.v2sp {padding: 6px 30px 0px;} .v2rsp {padding: 0px 10px;}}</style>
</head>`

В то время как Gmail api GET метод возвращает base64 encode Версия, которую я конвертирую следующим образом:

function decode($data)
{
return base64_decode(str_pad(strtr($data, '-_', '+/'), strlen($data) % 4, '=', STR_PAD_RIGHT));
}

В чем действительно разница между обоими и почему на самом деле разница?

Снимок экрана с почтой, полученной через API Gmail

Снимок экрана с письмом, полученным через imap_fetchbody

Ваши комментарии и ответы будут оценены.

Спасибо

-1

Решение

Разница между ними заключается в том, что imap_fetchbody возвращает:

Это цитируемый текст для печати, вероятно, результат прохождения через «тупой» почтовый клиент. = используется для кодирования / экранирования непечатаемых / метасимволов, очень похоже на &…; используется в HTML.
= 3d — это печатаемое в кавычках представление =: 3d hex = 61 ascii = знак равенства.

Ссылка: imap_fetchbody HTML со странными символами

В то время как Gmail api GET метод возвращает base64_encoded строка, которая должна быть decoded, Мы можем добавить то же самое quoted-printable эффект просто:

quoted_printable_encode($string)
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]