GMail не помечает HTML электронной почты (отправка через PHP)

#gmail #html

#gmail #HTML

Вопрос:

Я пытаюсь отправить электронное письмо в формате html через mail (), однако gmail просто отображает электронное письмо в виде обычного текста, без разметки, например:

 mail("blah@blah.com", "<i>Italic Text</i>");
  

просто отображается как

 <i>Italic Text</i>
  

Есть идеи?

Комментарии:

1. На этот вопрос, вероятно, можно было бы получить лучшие ответы в Stack Overflow.

Ответ №1:

Вы настроили заголовки электронной почты?

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

// Mail it
mail($to, $subject, $message, $headers);
  

Если да, есть ли у каких-либо других почтовых клиентов такая же проблема? Или это просто Gmail?

Ответ №2:

Попробуйте это с помощью css, тег i устарел, не уверен, что это является причиной…

 <span style='font-style:italic;'>Italic Text</span>  

Или вы могли бы попробовать использовать тег em:

 <em>Italic Text</em>  

.

Комментарии:

1. Семантическая разметка (то, что вы описываете) здесь не будет иметь никакого значения. И, FWIW, используя HTML 1, несемантические теги по-прежнему работают просто отлично. К счастью, Microsoft не владеет Интернетом, поэтому все на самом деле обратно совместимо с HTML.

2. @bpeterson76 Поддержка HTML электронной почты не имеет ничего общего с совместимостью веб-HTML. Это две очень разные вещи. Никогда не помешает попробовать несколько подходов и посмотреть, какой почтовый клиент, о котором идет речь, отобразит должным образом.