- phpBB Guru — Официальная русская поддержка форума phpBB3
- HTML и текстовая версия письма
- HTML и текстовая версия письма
- Re: HTML и текстовая версия письма
- Re: HTML и текстовая версия письма
- Правильная настройка почты, чтобы не попасть по спам фильтры
- MIME_HTML_ONLY — необходимо добавить текстовую версию письма
- Отправка mail() в php
- Создание файла mail.php и основных переменных
- Формирование текстовой версии письма (text/plain) и таблицы для HTML-версии
- Доработка HTML-версии почтового сообщения
- Создание заголовков почтового письма
- Формирование итогового сообщения письма
- Отправка mail() в php с проверкой
- Итоговый код
- " . $form_subject . "
- PHP_ORIG_SCRIPT
- Статьи из данной категории:
- Message only has text/html MIME parts Вам нужно добавить текстовую версию письма (text/plain)?
- Оценка на mail-tester.ru 4,7, что делать?
phpBB Guru — Официальная русская поддержка форума phpBB3
Уважаемые пользователи!
Напоминаем, что с 7 ноября 2020 года phpBB Group прекратила выпуск обновлений для phpBB версии 3.2.
С учетом этого, рекомендуется обновить конференции до версии 3.3.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до отдельного объявления.
HTML и текстовая версия письма
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ).
static77 phpBB 2.0.0 Сообщения: 226 Стаж: 7 лет 5 месяцев Благодарил (а): 107 раз Поблагодарили: 5 раз
HTML и текстовая версия письма
Сообщение static77 » 04.06.2020 19:25
rxu phpBB Guru
Сообщения: 16080 Стаж: 17 лет 2 месяца Откуда: Красноярск Благодарил (а): 508 раз Поблагодарили: 2013 раз Контактная информация:
Re: HTML и текстовая версия письма
Сообщение rxu » 04.06.2020 19:35
static77 phpBB 2.0.0 Сообщения: 226 Стаж: 7 лет 5 месяцев Благодарил (а): 107 раз Поблагодарили: 5 раз
Re: HTML и текстовая версия письма
Сообщение static77 » 04.06.2020 19:42
при регистрации нового пользователя отправляется письмо на его почту со ссылкой на активацию аккаунта.
Я его оформил в штмл, вместо плейн текст.
далее проверил почту на «спаменитость» через майл-тест точка ком
в валидации написало:
SpamAssassin считает, что Вы можете улучшить рейтинг ваших писем
Message only has text/html MIME parts
Вам нужно добавить текстовую версию письма (text/plain)
Правильная настройка почты, чтобы не попасть по спам фильтры
Письма, отправленные с неверным заголовком Return-Path не попадают даже в спам. Лечение:
mail("email@site.ru", "subj", "message text", "From: email@site.ru\nContent-Type: text/plain; charset=windows-1251\nContent-Transfer-Encoding: 8bit", "-femail@host.ru");
MIME_HTML_ONLY — необходимо добавить текстовую версию письма
Если SpamAssassin выдает MIME_ HTML _ONLY , то есть сообщение содержит только text/html , необходимо добавить текстовую версию письма text/plain .
При использовании класса PHPMailer в нем есть метод PHPMailer::MsgHTML($message, $basedir) , который следует использовать.
Для Joomla Virtuemart можно после $mailer->setBody( $body ); добавить:
$textMsg = trim(strip_tags(preg_replace('/<(head|title|style|script)[^>]*>.*?/s', '', $body))); if (!empty($textMsg)) { $mailer->AltBody = html_entity_decode($textMsg, ENT_QUOTES, $mailer->CharSet); }
Отправка mail() в php
Рассмотрим, как отправить почтовое сообщение с помощью php функции mail(). В данной статье мы создадим максимально «белую» отправку, чтобы ваше письмо не попало в папку «Спам».
При создании нашего php кода для отправки функции mail() мы учтём моменты выше, чтобы минимизировать процент попадания письма в папку «Спам».
Создание файла mail.php и основных переменных
Создадим в корне сайта файл mail.php и добавим в него следующий код.
- $admin_email — список получателей (через запятую);
- $form_subject — тема письма;
- $project_name — отправитель письма;
- $html — начало HTML письма (далее мы его будет дополнять контентом).
Формирование текстовой версии письма (text/plain) и таблицы для HTML-версии
Сформируем таблицу $table для HTML-версии (text/html) почтового сообщения.
Затем в переменную $plain_text добавим текстовую версию. Всё это сделаем в цикле foreach. Также предусмотрим возможный вариант $_POST[«value»] в виде массива (значений чекбоксов).
$c = true; $plain_text = ""; $table = ""; foreach ($_POST as $key => $value) < if (is_array($value)) $value = implode(", ", $value); if ($value != "" && $key != "project_name" && $key != "admin_email" && $key != "form_subject") < // text/html $table .= (($c = !$c) ? '' : ' ') . ' ' . $key . ' ' . $value . ' '; // text/plain $plain_text .= $key . ": " . $value . "\r\n"; > >
Таким образом, мы обработали полученные с фронтенда данные формы.
Доработка HTML-версии почтового сообщения
В первом пункте данной статьи мы создали файл mail.php и объявили основные переменные для нашего файла, в числе которых была переменная $html . Во втором пункте мы создали переменную $table , в которой сформировали HTML-таблицу из name и value. Теперь нам необходимо добавить таблицу с данными к переменной $html .
$html .= ' " . $form_subject . "
' . $table . '