2015-05-20 3 views
1

Я посылаю HTML письма с mail() функции PHP с этим заголовком:Отправка изображения в HTML электронной почты

$header = "MIME-Version: 1.0\r\n"; 
$header .= "Content-type: text/html; charset=iso-8859-1\r\n"; 

Теперь я хочу, чтобы вставить изображение. Должен ли я просто сделать это так просто, как это?

<img src="http://www.example.de/images/image.png" alt="test" title="test" /> 

При этом отображается предупреждение, если вы открываете письмо в Outlook и т. Д., Что изображения с внешнего сервера встроены. Возможно ли/лучше использовать кодировку base64 следующим образом?

<img src="data:image/png;base64,..." alt="test" title="test" /> 

Или URI данных не поддерживаются почтовыми программами широко?


EDIT: Спасибо, что голосовали за закрытие, потому что этот вопрос «основан на мнениях». Я так не думаю, потому что я просил об этом:

Или URI данных не поддерживаются почтовыми программами широко?

Мне нужна возможность отправки изображений в электронные письма без их загрузки с моего сервера. И я просто хочу знать о любых недостатках или других методах.

+0

Я нашел подобный вопрос http://stackoverflow.com/questions/9110091/base64-encoded-images-in-email-signature – kmike

+0

Возможный дубликат [Как вставлять изображения в электронную почту] (http://stackoverflow.com/questions/4312687/how-to-embed-images-in -email) –

ответ

1

Данные URI поддерживаются в some email clients.

Лучший способ включить изображения в ваш HTML электронной почты, вероятно, к include them as separate parts, referenced by their content id:

<img src="cid:123456789" alt="Attached image"> 

Также посмотрите на this thread

+0

Спасибо за ответ, это именно то, что мне нужно :-) – Richard

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