Скрипт PHP – отправить на e-mail почту из формы обратной связи с сайта

Если используемая у вас форма отправки сообщений на электронную почту имеет, примерно, такую модель:

htmlspecialchars(trim($_POST[‘message’]))

тогда полноценно она работать не будет, — посылаться на e-mail будет только латиница, но если задать кириллицу, то на почту будут приходить сообщения с пустыми полями.

Во-первых, мы вместо функции htmlspecialchars() будем использовать htmlentities().

htmlspecialchars — преобразует специальные символы в HTML-сущности.
Вызова функции htmlspecialchars() достаточно, если кодировка поддерживает все символы во входной строке (такая как UTF-8, но также ISO-8859-1 при входной только ISO-8859-1). Необходимость в вызове функции htmlentities() появляется только тогда, когда выходная кодировка не поддерживает все символы из входной строки.

Функция htmlentities преобразует все возможные символы в соответствующие HTML-сущности. Эта функция полезна при отображении данных, введенных пользователем, которые могут содержать нежелательные HTML тэги, например в форуме или гостевой книге, подробнее написано здесь->>>.

Плюс нам необходимо указать кодировку, в которой нам будут нужны сообщения, и таким образом, в нашей форме все фрагменты, содержащие вот такие куски:

htmlspecialchars(trim($_POST[‘message’]))

заменить на следующее:

htmlentities(trim($_POST[‘message’]), ENT_QUOTES, «cp1251»)

В этом случае символы будут преобразованы в HTML-сущности и будут приходить сообщения на русском языке.

Далее переходим к изменению стандартных портов->>>

Понравилась статья? Поделиться с друзьями:
Помощь вебмастеру