Образы Nodemailer не отображаются с локального CDN с использованием gmail - PullRequest
0 голосов
/ 17 октября 2019

Мне было поручено создать простой почтовый инструмент, который отправляет электронные письма внутренним группам нашей компании. Я прошел через упражнение по созданию шаблона электронной почты и использованию NodeJS с библиотекой nodemailer для создания сообщения на основе этого шаблона и отправки электронной почты пользователю. Тем не менее, при попытке добавить изображения к шаблону, получающемуся электронному письму получателя, изображения были переписаны в систему, которая выглядит как кеширующая прокси-система Google, т.е.

https://somesystem.some.localtion.io/content/myimage.png

получаетпереписано в:

https://ci6.googleusercontent.com/proxy/eXuw8UXTcDdsC03GMBJvrQH1Z-Fbu1blh0cCeAw64q1vfx_C20DTRT-T5FSNJw-3G59tIBb3jmvQIpI9x8O7Us4gyHs3uf01dMytVF-EozUHlr23UGA=s0-d-e1-ft#https://somesystem.some.localtion.io/content/myimage.png

Изображения не разрешаются должным образом, так как мы используем локальный cdn, к которому система кэширования / прокси-сервер Google не имеет доступа.

Основываясь на следующей статье, Динамические изображения для электронной почты, такие как часы обратного отсчета (в свете кэширования изображений Gmail)

Я попытался добавить в заголовки сообщенияВарианты как:

{
  "host": this.email_server,
  "port": this.port,
  "headers": {
    "Content-Type": "image/jpeg",
    "Cache-Control": "no-store, no-cache, must-revalidate, max-age=0",
    "Cache-Control": "post-check=0, pre-check=0",
    "Pragma": "no-cache"
  }
}

Однако проблема все еще существует.

Мы также попытались кодировать изображение base64 и включить его в шаблон, но, похоже, Google удаляет это.

К сожалению, из-за проприетарных образов и по другим деловым причинам мы не можем сделать этот CDN общедоступным, поэтому это не вариант. Если есть другие предложения, пожалуйста, дайте мне знать.

...