Электронная почта Gmail, полученная PHP API, не показывает встроенное изображение

Я получаю электронные письма в формате HTML со встроенными изображениями, и изображения отображаются в GMail должным образом. Однако в моем html не удается найти изображение

на следующем снимке экрана показано неработающее изображение в теле письма, а в элементе проверки оно

<img src="cid:[email protected]" v:shapes="_x0000_i1025" height="1227" width="1168">

Тип контента: составной/связанный.

введите здесь описание изображения


person Jignesh Aakoliya    schedule 04.06.2016    source источник
comment
Вы можете попробовать это руководство о том, как вставлять изображения в электронные письма. . Здесь объясняется, как это сделать, используя встроенные изображения CID (встроенные изображения) и встроенное встраивание (кодирование Base64). Вы также можете узнать здесь плюсы и минусы двух. Кроме того, у него есть пример кода, который действует как руководство для зрителей. Проверьте также это SO question для получения дополнительной информации.   -  person KENdi    schedule 06.06.2016
comment
Я хочу получать изображения по почте, я не пытаюсь отправить письмо   -  person Jignesh Aakoliya    schedule 07.06.2016


Ответы (1)


Как вы сами заявляете, вы получаете мим-тип multipart/related, но похоже, что вы смотрите только на часть text/html.

Мим-тип multipart/related означает, что есть как минимум 2 части (каждая со своим собственным типом пантомимы), поэтому, кроме text/html, вероятно, есть часть типа image/* пантомимы.

В случае встроенных изображений API Gmail отправляет их в этих разных частях. Как вы можете видеть в вашем случае, часть html имеет ссылку на встроенное изображение cid:[email protected], это значение Content-ID части типа mime image/*.

Таким образом, вам нужно будет прочитать часть image/*, чтобы получить ее значение, и использовать ее для замены cid в html.

person guival    schedule 19.09.2017