Ответ 1
Ссылки из Moin Zaman показывают результаты тестов, которые устарели (с 2008 года). По состоянию на мое тщательное тестирование сегодня Gmail поддерживает отображение встроенных изображений для обоих методов.
Используйте base64-кодирование изображения внутри строки <img src="...">
<html><body><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9QAAADmCAIAAAC77FroAAAAAXNSR0IArs4c6QAAAAlwSFlzAAAO..."</body></html>
Использовать кодированное изображение base64 в качестве вложения
Message-ID: <[email protected]>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-originating-ip: [xxx.xxx.xxx.xxx]
Content-Type: multipart/related;
boundary="_038_BE0243A40B89D84DB342702BC5FD6D313EA3BE1BBYMAIL_";
type="multipart/alternative"
MIME-Version: 1.0
Return-Path: [email protected]
X-OriginatorOrg: example.com
--_038_BE0243A40B89D84DB342702BC5FD6D313EA3BE1BBYMAIL_
Content-Type: multipart/alternative;
boundary="_000_BE0243A40B89D84DB342702BC5FD6D313EA3BE1BBYMAIL_"
...skipping Content-Type: text/plain which would be here for this example...
--_000_BE0243A40B89D84DB342702BC5FD6D313EA3BE1BBYMAIL_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<html><body><img border=3D"0" width=3D"980" height=3D"230" id=3D"Picture_x0020_1" src==3D"cid:[email protected]"></body></html>
--_000_BE0243A40B89D84DB342702BC5FD6D313EA3BE1BBYMAIL_--
--_038_BE0243A40B89D84DB342702BC5FD6D313EA3BE1BBYMAIL_
Content-Type: image/png; name="image001.png"
Content-Description: image001.png
Content-Disposition: inline; filename="image001.png"; size=32756;
creation-date="Mon, 08 Oct 2012 15:27:07 GMT";
modification-date="Mon, 08 Oct 2012 15:27:07 GMT";
Content-ID: <[email protected]>
Content-Transfer-Encoding: base64
iVBORw0KGgoAAAANSUhEUgAAA9QAAADmCAIAAAC77FroAAAAAXNSR0IArs4c6QAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAf5lJREFUeF7tvQlgVdW18L+ZR20mpsSLCYlBQKwgwRCMr9TAqzg0CAl98Y9a
ikBfHxL1A/r0tUr77Feg1mDav4LUijxTk8hLRIstQ2mJhEiAWAEpNCGRa8KUSQXCzLf2cOZz7j33
5s5Zx6j3nruHtX97n33WWWfttbtdv36d4IEEkAASQAJIAAkgASSABJCA/wl0938VWAMSQAJIAAkg
ASSABJAAEkAClAAq3zgOkAASQAJIAAkgASSABJBAgAig8h0g0FgNEkACSAAJIAEkgASQABJA5RvH
...
Чтобы выполнить собственное тестирование, вы можете отправить электронное письмо с встроенным встроенным изображением, используя один из следующих методов.
- Использование кода создания собственных строк изображения base64
- Включить и использовать Лаборатория Google для вставки изображений
- Вставить изображение в почтовый клиент, например Outlook 2010
Отправьте электронное письмо, используя один из указанных выше, в свою учетную запись Gmail, затем откройте электронную почту в веб-клиенте Gmail (любой браузер, который работает), и используйте кнопку "Стрелка вниз" рядом с кнопкой "Ответить", чтобы выбрать параметр "Показать оригинал". Это покажет вам, как оно получено.
Я считаю, что наилучшей практикой является использование встроенного изображения в качестве метода привязки.
В моем тестировании с помощью веб-клиента Gmail, если я отправил 30 изображений в одном электронном письме разных размеров, некоторые из них не загрузили бы успешно показ контейнера изображений, но не изображение. Если это произойдет, попробуйте перезагрузить страницу.
В моем тестировании (Windows 7)...
- Chrome (последняя версия) потребовала пару перезагрузок для успешной загрузки/показа всех 30 изображений
- Opera (последняя) не будет успешно показывать все 30 изображений независимо от количества перезагрузок
- Firefox (последний) последовательно показывал все 30 изображений без проблем
- Internet Explorer 9 (последний) последовательно показывал все 30 изображений без проблем.
- Safari (последний) последовательно показывал все 30 изображений без проблем