Я хочу отправить письмо через PHP с встроенными / встроенными изображениями (он же cid). Почта успешно отправлена и правильно получена в Gmail. Однако в Thunderbird (последняя версия для Windows) встроенное / встроенное изображение не отображается.
Я следил за информацией, приведенной в этот нить, но это все еще не работает. Таким образом, встроенное / встроенное изображение отображается в Gmail, а не в Thunderbird. Кто-нибудь знает проблему здесь?
To: [email protected]
Subject: Test
From: [email protected] <noreply>
MIME-Version: 1.0
Content-Type: multipart/related; boundary="52cd9ebf4fb8c9b0547e93b82b3f3f6b"
--52cd9ebf4fb8c9b0547e93b82b3f3f6b
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Test mail</title>
</head>
<body>
<img src="cid:myImage" alt="This is a embedded image" />
</body>
</html>
--52cd9ebf4fb8c9b0547e93b82b3f3f6b
Content-Type: image/jpg; name="myImage.jpg"Content-Transfer-Encoding: base64
Content-ID: <myImage>
Content-Disposition: inline; filename="myImage.jpg"
[base64 encoded string goes here.]
--52cd9ebf4fb8c9b0547e93b82b3f3f6b--
Мм … В RFC 1521 скажем, что формат заголовка Content-Type что-то вроде этого
Формальная грамматика для поля заголовка типа содержимого для текста имеет вид
следующим образом:text-type: = «text» «/» text-subtype [«;» «charset» «=» charset]
text-subtype: = «plain» / extension-token
charset: = «us-ascii» / «iso-8859-1» / «iso-8859-2» / «iso-8859-3» / «iso-8859-4» / «iso-8859-5″ / » iso-8859-6 «/» iso-8859-7 «/» iso-8859-8 «/» iso-8859-9 «/ расширение-токен
; без учета регистра
Я имею в виду тип контента и следующий набор символов
Но вы положили
Тип контента: изображение / JPG; имя = «myImage.jpg»
так что … может быть, это может сломать ваш имидж …
Еще одно предложение — поставить ваш контент-ID в нижнем регистре, а не в верблюжьем
С уважением
Эмилиано
Я бы проверил правильность регистра на расширениях изображений. В прошлом я обнаружил, что .jpg будет отображаться во многих браузерах, даже если расширение файла изображения — .JPG … но для некоторых он сломается или, по крайней мере, будет работать некорректно.
Это может быть не так для вас, но стоит того, чтобы взять пик.
Спасибо всем за ответ. Я не уверен в этом, но похоже, что разработчики Thunderbird исправили ошибку в своем последнем выпуске, потому что теперь это работает. Если это правильно, спасибо разработчикам Thunderbird!