dudeonthehorse / kilogram

Email Development Framework
504 stars 94 forks source link

Ссылки на изображения в письме #41

Closed Sogl closed 7 years ago

Sogl commented 7 years ago

Здравия!

Сегодня обнаружил интересную проблему при отправке писем на внешние адреса (gmail, mail.ru). Дело в том, что я локально веду разработку на OpenServer с домена, предположим, http://mysite.

Я отправляю тестовое письмо с картинкой, которая лежит в открытой папке на сервере вместе с другими изображениями. Подгружаю в шаблон так:

<img src="/assets/web/images/heli.png" width="90" height="43" alt="">

Если я письмо отправляю самому себе на корпоративную почту, то картинку я вижу. При отправке на тот же gmail получаем незагруженную картинку и ссылка на нее такая:

https://ci3.googleusercontent.com/proxy/KAJzn4xw7lvFcAcS7fSppGoX3jM7oMOaWY1XBeFRmHaCdY-
oB7ySIQgCY-lp3QYJvrDgVR_18lA=s0-d-e1-ft#http://mysite/assets/web/images/heli.png

Картинку я не вижу, потому что внешний сервер пытается подгрузить её с моей локальной машины — это понятно. Однако когда я выпущу шаблон рассылки на боевой сервер, все получатели будут запрашивать изображение именно с него.

Как можно решить данную проблему? Можно ли подгрузить изображения в письмо с помощью того же base64 с полноценной поддержкой всех email-клиентов? Или существует какой-то CDN для изображений?

dudeonthehorse commented 7 years ago

Base64 и CID использовать можно, но злоупотреблять не стоит. Если рассылаешься через сервис рассылки, то он предоставляет хостинг для картинок. Если рассылка идет через API, то для небольших объемов писем можно использовать хостинг своего сайта. Для больших объемов нужно подымать CDN, например за Амазоне. Причем желательно с кешированием, так как можно легко получить отлуп картинок почтовыми системами по таймауту.

Sogl commented 7 years ago

Рассылаю через нашу ERP-систему. Есть какой-нибудь хороший бесплатный хостинг картинок, подходящий для подобных целей? Платить за Amazon ради пары изображений смысла не вижу.

dudeonthehorse commented 7 years ago

Можно хранить на корпоративном сайте. Использовать сторонний бесплатный хостинг - как минимум странно.