Intereting Posts
Вызов неопределенной функции: simplexml_load_string () Как lazy загружать элементы из mysql db, как facebook и twitter (бесконечная прокрутка) Вызов неопределенного метода Illuminate \ Database \ Query \ Builder :: associate () Разрешено разрешение Htaccess / указатель каталога Есть ли способ создать миниатюру видео через PHP без ffmpeg? Что считается лучшей практикой для обработки переменных, хранящихся в файле конфигурации? Маршрутизация CakePHP в контроллерах страниц Как отображать только 5 записей на страницу из моей таблицы базы данных mysql через разбиение на страницы? Почему PHP перезаписывает значения, когда я повторяю этот массив дважды (по ссылке, по значению) Что лучше для освобождения памяти с помощью PHP: unset () или $ var = null Загрузка изображения из приложения PhoneGap Cordova Обратная инженерия или автоматическое поколение сущностей в Laravel? Symfony2 multiple Объекты одного класса в одной форме (SOLVED) Совместное использование данных между php и node.js с помощью файла cookie Пропустить и получить идентификатор от JavaScript до контроллера PHP

Gmail игнорирует мои письма в формате HTML

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

Вот мой код (с некоторыми изменениями, чтобы скрыть имя)

$to = "$EmailAddress"; $subject = "My subject!"; $headers = "From: no-reply@mydomain.co.uk\r\n" . "X-Mailer: php"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; $message = '<html><body>'; $message .= '<center><img width="300px" src="http://img.ruphp.com/php/mylogo.png"/><br />'; $message .= '<br /><br />'; $message .= '<h2>Hello '.$UserName.',</h2>'; $message .= '<b>Thanks for joining!</b><br /><br />'; $message .= 'Please find your login details below.'; $message .= '_____________________________________<br /><br />'; $message .= 'Username: '.$UserName.'<br/> Password: '.$Password.'<br /> <br />'; $message .= '_____________________________________<br /><br />'; $message .= 'Thanks,<br/>My company.<br/>'; $message .= '<br/><a target="_new" href="http://www.mydomain.co.uk"/>www.mydomain.co.uk</a>'; $message .= '</center>'; $message .= 'my company &copy; 2012'; $message .= '</html></body>'; $success = mail($to,$subject,$headers,$message); 

мой вопрос: есть ли способ предложить альтернативную текстовую версию электронной почты, если клиент электронной почты не сможет прочитать этот код или есть что-то, что мне нужно добавить, чтобы Gmail понял это?

Прошу прощения, если это дубликат, но я не могу найти этот вопрос здесь. Заранее спасибо.

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

 $to = "$EmailAddress"; $subject = "My subject!"; $headers = 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; $message = '<html><body>'; $message .= '<center><img width="300px" src="http://www.mydomain.co.uk/images/mylogo.png"/><br />'; $message .= '<br /><br />'; $message .= '<h2>Hello '.$UserName.',</h2>'; $message .= '<b>Thanks for joining!</b><br /><br />'; $message .= 'Please find your login details below.'; $message .= '_____________________________________<br /><br />'; $message .= 'Username: '.$UserName.'<br/> Password: '.$Password.'<br /> <br />'; $message .= '_____________________________________<br /><br />'; $message .= 'Thanks,<br/>My company.<br/>'; $message .= '<br/><a target="_new" href="http://www.mydomain.co.uk"/>www.mydomain.co.uk</a>'; $message .= '</center>'; $message .= 'my company &copy; 2012'; $message .= '</body></html>'; $success = mail($to,$subject,$message,$headers); 

Это то, что вы ищете

Попробуйте использовать

Content-type: html;

Я использовал его для решения проблемы в моем приложении.

Я не думаю, что вы здесь стараетесь. Письма пишутся в обычном / текстовом формате, а не в тексте / html. Theres возможность отправлять электронные письма в виде сообщения mime-multipart, но тогда у вас есть текстовая / простая версия для браузеров с поддержкой text / html. Вы должны использовать класс, чтобы защитить себя от деталей реализации mime.

Комментарий Mi для продвинутых пользователей PHP. Begginers могут делать что-то вручную, у них нет опыта того, что будет нарушать это. Поэтому высший проголосовавший комментарий здесь достаточно для начинающих. Профессионалы лучше обслуживаются с помощью класса, которые создают правильный многопрофильный файл типа mime.