2016-11-05 3 views
5

Я хочу отправить почтовый ящик PHP с встроенными/встроенными изображениями (aka cid). Почта успешно отправлена ​​и получена правильно в Gmail. Однако в Thunderbird (последняя версия для окон) встроенное/встроенное изображение не отображается.PHP - Встроенные изображения, не отображаемые в Thunderbird

Я следил за информацией, приведенной в разделе this, но она по-прежнему не работает. Поэтому встроенное/встроенное изображение отображается в 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-- 
+0

Это больше похоже на проблему местного характера. Проверьте свои настройки, чтобы увидеть, не были ли изображения не заблокированы (не) в качестве значения по умолчанию. –

+0

Я уверен, что настройки Thunderbird находятся. Только настройки установки по умолчанию. – Piet

ответ

1

Мм ... В RFC 1521 сказать, что формат заголовка Content-Type является чем-то вроде этого

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

text-type: = "text" "/" text-subtype [";" "Кодировка" "=" кодировка]

текста подтип: = "простые"/разгибание маркера

кодировки: = "US-ASCII"/"ISO-8859-1"/«изо-8859- 2 "/" iso-8859-3 " /" iso-8859-4 "/" ​​iso-8859-5 "/" iso-8859-6 "/" iso-8859-7 " /" iso-8859- 8 "/" iso-8859-9 "/ расширение-токен ; регистронезависимы

Я имею в виду тип содержимого и рядом с кодировкой Но вы положили

Content-Type: изображения/JPG; Name = "myImage.jpg"

так ... это может быть, может разбить изображение ... другое предположение положить контент-ID в нижнем регистре не ГорбатыйРегистр

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

+0

Спасибо за ответ. Первая строка вашей цитаты гласит: «Поле заголовка содержимого контента для текста», поэтому не для изображений. Кроме того, нижний индекс содержимого не влияет ни на что. Так вы или кто-то еще получил решение или это ошибка от Thunderbird? – Piet

+0

Хотя это изображение, формат тот же, только вам не нужно добавлять кодировку. Затем попробуйте удалить текст «name =» myImage.jpg «» после вашего типа содержимого и дать мне крик, если он не работает. – Emiliano

1

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

Возможно, это не так, но стоит взять пик.

0

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

Смежные вопросы