Intereting Posts
Как создать несколько массивов из массива? Тип сообщения Ajax не будет отправлять данные на страницу php Как проверить, содержит ли строка табурет в PHP? preg_match и (не английские) латинские символы? SQL-команда на основе PHP strstr или LIKE Как разрешить ошибку HTTP 414 «Request URI too long»? Что эквивалентно оператору сброса ветвей («? |»), Найденному в php (pcre) в C #? Сравните текущую дату с меткой времени в WordPress с помощью meta_query агрегирование mongodb php Проверить, существует ли ключ и получить соответствующее значение из массива в PHP Как выйти из истекшего сеанса в Laravel 5.x? Перемещение php-проекта в кодовое средство или обновление существующей структуры macOS Sierra, устанавливающая расширение PHP Extension Рисование единой диаграммы линейки Google с несколькими строками с использованием JSON Как я могу заставить PHP скомпилировать документ LaTeX, если он (www-data) не может получить доступ к требуемым пакетам?

PHP: Html отправлять электронную почту в формате html

Я следую учебнику http://css-tricks.com/sending-nice-html-email-with-php/ для отправки почты в формате html.

Моя строка выглядит так:

$message = '<html><body>'; $message .= '<img src="http://img.ruphp.com/php/wcrf-header.png" alt="Website Change Request" />'; $message .= '<table rules="all" style="border-color: #666;" cellpadding="10">'; $message .= "<tr style='background: #eee;'><td><strong>Dear:</strong> </td><td>" . strip_tags($part_name). "</td></tr>"; $message .= "<tr><td><strong>.$user_name.has fixed an appointment with you on :</strong> </td><td>" . strip_tags($time). "</td></tr>"; $message .= "<tr><td><strong>In:</strong> </td><td>" . strip_tags($meeting_name) . "</td></tr>"; $message .= "<tr><td><strong>Please click on:</strong> </td><td><a href=" . strip_tags($approve_url). "</a> To approve</td></tr>"; $message .= "</table>"; $message .= "</body></html>"; // CHANGE THE BELOW VARIABLES TO YOUR NEEDS $subject = 'Appointment Request '; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; 

Но полученная почта не форматирована html, она похожа на

 <html> <body> <img src="http://img.ruphp.com/php/wcrf-header.png" alt="Website Change Request" /> <table rules="all" style="border-color: #666;" cellpadding="10"> <tr style='background: #eee;'> <td> <strong>Dear:</strong> </td> <td>Depu</td> </tr> <tr> <td> <strong>.pandit.has fixed an appointment with you on :</strong> </td> <td> </td> </tr> <tr> <td> <strong>In:</strong> </td> <td>anyp</td> </tr> <tr> <td> <strong>Please click on:</strong> </td> <td> <a href=http://192.168.0.178/UI/user/approvemeeting.php?meetingid=REG_939300945&key=3107</a> To approve </td> </tr> </table> </body> </html> 

Пожалуйста, скажите мне, что я делаю неправильно, потому что почта не идет html formatted

Вместо этого используйте PHPMailer.

Он позволяет отправлять SMTP и обычные электронные письма (функция PHP mail () или объяснять все параметры SMTP), и, что наиболее важно, он позволяет вам указывать HTML-сообщение, альтернативное сообщение с обычным текстом (но не указывать его, иначе некоторые клиенты не будут отображать HTML-код, например, кровавые Lotus Notes).

Он позволяет вам указывать заголовки, mime и т. Д. …

http://phpmailer.worxware.com/

Из:

 $SMTPMail = new SMTPClient ($SmtpServer, $SmtpPort, $SmtpUser, $SmtpPass, 'info@myserver.com', $pr_email, $subject, $message); $SMTPChat = $SMTPMail->SendMail(); 

Вы никогда не отправляете в $headers var, так как у этого письма нет заголовков, и поэтому MIME-тип не будет читаться почтовым клиентом на другом конце.

Я не понимаю класс SMTPClient и SMTPClient форму, которую я рекомендую вам не использовать, поскольку он открывает сокет непосредственно на SMTP-сервере. Также этот класс фактически не поддерживает пользовательские заголовки, которые отсасывают. mail() будет использовать ваш SMTP-сервер по умолчанию.