Объявление типа mime для html-email

Я хочу создать html-письмо и много читал о том, как это сделать. Есть одна информация, которую я не могу найти. Как я должен объявить тип mime? Я пробовал с:

meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

но это не работает.

Позднее редактирование:
Я пытаюсь установить тип содержимого почты на text/html, но не знаю, как это сделать. Все это при написании из обычного почтового клиента. Я должен объявить это в теле письма? Или в шапке почты (если да, то как это сделать?)?


person sica07    schedule 03.11.2009    source источник
comment
Что вы имеете ввиду под не работает? Вы получаете сообщение об ошибке? Символы, отличные от ANSI, выглядят сломанными? Получатели вашей почты видят исходный HTML-код вместо отображаемого HTML-кода? ...   -  person Heinzi    schedule 03.11.2009
comment
Он отображается как обычный текст ‹meta http-equiv=Content-Type content=text/html; кодировка=UTF-8 /›   -  person sica07    schedule 03.11.2009


Ответы (4)


Вы пытаетесь установить объявление типа содержимого в заголовке сообщения, отправляемого на почтовый сервер? Если это так, вы должны установить его таким образом, в самой строке:

Content-Type: text/html; charset=UTF-8
person Konamiman    schedule 03.11.2009
comment
Как я могу это сделать, когда я нахожусь в обычном почтовом клиенте, таком как gmail или yahoo? - person sica07; 03.11.2009
comment
Вы не можете. Я никогда не видел клиент веб-почты, который позволял бы настраиваемый ввод HTML (и редко видел клиент для настольных компьютеров). - person Quentin; 03.11.2009
comment
Если вы хотите вставить пользовательские заголовки, вам нужно написать свой собственный клиент. Это, вероятно, не стоит делать, если у вас нет особой необходимости, например, для тестирования SMTP-сервера. - person james.garriss; 26.08.2013

В основном почтовые клиенты игнорируют любые META-теги с типом контента в них (по крайней мере, по состоянию на 17 октября 2013 г.).

Вам необходимо установить объявление типа контента в специальном заголовке на почтовом сервере.

Дополнительную информацию об этой проблеме можно найти по адресу http://www.emailonacid.com/blog/details/C13/the_importance_of_content-type_character_encoding_in_html_emails

Если для вас это не имеет смысла, то, боюсь, вам не повезло. Единственное надежное решение, которое я нашел, - это преобразовать любые специальные символы в эквивалентные им объекты HTML. В приведенной выше ссылке есть ссылка на инструмент, который делает это за вас.

Надеюсь, это поможет!

person mbear    schedule 17.10.2013

Конечный тег для метатега используется только в xhtml/xml. Если вы используете html, вы должны использовать его внутри тегов <head>, например:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
person buddingprogrammer    schedule 02.01.2017

Это относится к пхп:

// To send HTML mail, the Content-type header must be set
$headers[] = 'MIME-Version: 1.0';
$headers[] = 'Content-type: text/html; charset=iso-8859-1';

// Additional headers
$headers[] = 'To: Mary <[email protected]>, Kelly <[email protected]>';
$headers[] = 'From: Birthday Reminder <[email protected]>';
$headers[] = 'Cc: [email protected]';
$headers[] = 'Bcc: [email protected]';

// Mail it
mail($to, $subject, $message, implode("\r\n", $headers));

http://php.net/manual/en/function.mail.php#example-4180

person Julian    schedule 19.02.2019