Как обеспечить отображение изображений, встроенных в электронные письма HTML? - PullRequest
4 голосов
/ 10 января 2012

Я должен отправить электронное письмо, которое содержит изображение и текст вокруг него.Я уже могу отправить электронное письмо в формате HTML, прикрепить картинку с Content-ID: <Picture.jpg> и затем ссылаться на нее как <img src="cid:Picture.jpg" alt="" />.Cute.

Проблема - многие почтовые клиенты не отображают его по умолчанию .Например, GMail по умолчанию показывает изображения только от отправителей, которым вы отправили как минимум два электронных письма.Я не имею представления о Mozilla Thunderbird, но, судя по жалобе клиента, он делает нечто похожее - картинка отображается в виде вложения и не появляется в теле письма.

Что такоеЯ делаю неправильно / мог бы сделать лучше?

Вот [censored] копия электронного письма:

Delivered-To: [censored]
Received: by 10.204.187.8 with SMTP id cu8cs411179bkb;
        Wed, 4 Jan 2012 05:36:05 -0800 (PST)
Received: by 10.152.106.45 with SMTP id gr13mr25346083lab.9.1325684164222;
        Wed, 04 Jan 2012 05:36:04 -0800 (PST)
Return-Path: <[censored]>
Received: from [censored] ([censored]. [[censored]])
        by mx.google.com with ESMTPS id nq10si44421925lab.26.2012.01.04.05.36.03
        (version=TLSv1/SSLv3 cipher=OTHER);
        Wed, 04 Jan 2012 05:36:03 -0800 (PST)
Received-SPF: pass (google.com: best guess record for domain of [censored] designates [censored] as permitted sender) client-ip=[censored];
Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of [censored] designates [censored] as permitted sender) smtp.mail=[censored]
Received: from [censored] ([censored]) by [censored] ([censored]) with
 Microsoft SMTP Server id 8.1.436.0; Wed, 4 Jan 2012 15:36:03 +0200
MIME-Version: 1.0
From: [censored]
To: [censored]
Date: Wed, 4 Jan 2012 15:36:02 +0200
Subject: Test
Content-Type: multipart/mixed;
    boundary="--boundary_1_5d3b21f4-0e5d-4727-a2a2-a49bb2ad5062"
Message-ID: <e42be75d-53b2-46c7-a1c6-150c95b86ba6@[censored]>
Return-Path: [censored]

----boundary_1_5d3b21f4-0e5d-4727-a2a2-a49bb2ad5062
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

[snip base64 encoded HTML]
----boundary_1_5d3b21f4-0e5d-4727-a2a2-a49bb2ad5062
Content-Type: image/jpeg; name="Picture.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: attachment
Content-ID: <Picture.jpg>

[snip base64 encoded JPEG]
----boundary_1_5d3b21f4-0e5d-4727-a2a2-a49bb2ad5062--

Добавлено: Для downvoters - хотя ядействительно вижу потенциал неправильного использования в этом вопросе, правда в том, что это из законного сценария.Я делаю сайт для интернет-магазина для поставщика канцелярских товаров.Клиенту нужна кнопка «Отправить по электронной почте» на странице продукта, чтобы посетители могли отправлять интересные описания продуктов своим друзьям / боссам / кому угодно.Я пытаюсь включить изображение товара в электронное письмо.Клиент жалуется, что изображение не отображается.

Ответы [ 3 ]

2 голосов
/ 21 июня 2013

Скопировано из этого ответа :

Значение заголовка Content-ID должно быть в формате, аналогичном идентификатору сообщения ,Поворот очень похож на адрес электронной почты .<Picture.jpg@yourmailer> имеет больше шансов работать с большинством почтовых программ.

1 голос
/ 10 января 2012

Большинство почтовых клиентов всегда будут скрывать изображения в теле html-письма, если только оно не отправлено доверенным отправителем. Подумайте об этом, если какой-то спам-сайт отправит вам неподходящие изображения, вы бы хотели, чтобы они появлялись при открытии электронного письма?

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

1 голос
/ 10 января 2012

Я не думаю, что вы можете заставить почтовых клиентов отображать электронные письма определенным образом. Подумайте только о проблемах безопасности, которые это может навязать!
Возможно, вы сможете узнать параметры для настройки в клиенте клиента и порекомендовать их ему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...