PHP — встроенные изображения не отображаются в Thunderbird

Я хочу отправить письмо через 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--

person Piet    schedule 05.11.2016    source источник
comment
Это больше похоже на локальную проблему. Проверьте свои настройки, чтобы увидеть, не заблокированы ли изображения для (не) показа по умолчанию.   -  person Funk Forty Niner    schedule 06.11.2016
comment
Я почти уверен, что настройки Thunderbird найдены. Просто настройки по умолчанию.   -  person Piet    schedule 07.11.2016


Ответы (3)


Мм... В RFC 1521 сказано, что формат заголовка Content-Type нравится

Формальная грамматика для поля заголовка типа контента для текста выглядит следующим образом:

тип текста := "текст" "/" подтип текста [";" "кодировка" "=" кодировка]

текстовый подтип: = "обычный" / расширение-токен

кодировка: = "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"/extension-token; без учета регистра

Я имею в виду тип содержимого, а затем кодировку. Но вы ставите

Тип содержимого: изображение/jpg; имя = "мое изображение.jpg"

так что ... это, возможно, может сломать ваше изображение ... еще одно предложение - указать ваш идентификатор контента в нижнем регистре, а не в верблюжьем.

с уважением Эмилиано

person Emiliano    schedule 28.11.2016
comment
Спасибо за ответ. В первой строке вашей цитаты говорится, что поле заголовка типа контента для текста, а не для изображений. Также нижний регистр идентификатора контента ни на что не влияет. Итак, у вас или у кого-то еще есть решение, или это ошибка Thunderbird? - person Piet; 01.12.2016
comment
Хотя это изображение, формат такой же, только вам не нужно добавлять кодировку. Затем попробуйте удалить текст 'name=myImage.jpg' после вашего типа содержимого и дайте мне знать, если не работает, пожалуйста. - person Emiliano; 02.12.2016

Я бы проверил правильность регистра в расширениях изображения. В прошлом я обнаружил, что .jpg будет отображаться во многих браузерах, даже если расширение файла изображения .JPG ... но для некоторых это будет ломаться или, по крайней мере, действовать непоследовательно.

Это может быть не так для вас, но на это стоит обратить внимание.

person Anthony Griggs    schedule 01.12.2016

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

person Piet    schedule 04.12.2016