Как настроить отправку почты с сайта с помощью phpmail?

Внимание: На серверах виртуального хостинга отправка почты с сайта возможна только при помощи функции PHP mail().

Для корректной работы почты необходимо чтобы email администратора, указываемый для домена в Панели управления хостингом, совпадал с email администратора, указываемом в настройках CMS или сайта. 

Совпадение этих email - обязательное условие корректной отправки почты. При этом необходимо указывать email вида: любое_удобное_имя@домен_вашего_сайта (реальное существование указываемого ящика обязательно только в том случае, если ваш домен привязан к почтовой услуге Self-mail). Указание ящиков вида @gmail.com, @yandex.ru и др. недопустимо!

Содержание:

Изменить Email администратора в Панели управления хостингом

1. Переходим в Панель управления хостингом из личного кабинета;

2. Далее в WWW-домены;

3. Затем, двойным кликом, открываем параметры нужного домена;

4. В поле E-Mail администратора указываем почтовый ящик от которого планируется отправлять сообщения.

5. Подтверждаем кнопкой Ок.

Настройка отправки почты в CMS Drupal 7

По умолчанию все сообщения с Drupal7 отправляются по средствам php mail(), email отправителя указывается при установке Drupal7. В дальнейшем email отправителя можно будет изменить в административной части Drupal, в разделе: Administration - Configuration - System.

 

Если отправка сообщений с сайта не работает, необходимо проверить, возможно включен модуль для работы почты посредством SMTP. Для проверки зайдите в раздел модулей, в административной части сайта Drupal: Administration - Modules.

Отключите модуль SMTP,  убрав «галочку» возле модуля и сохранив настройку Save configuration.

Возможно, что отправка сообщений посредством SMTP реализована и другим способом. Для отправки сообщений через SMTP необходимо, чтобы на сайте присутствовал PHPMailer. Файлы PHPMailer по умолчанию находятся в директории ./sites/all/modules/smtp/phpmailer.

Существуют еще несколько способов реализации отправки сообщений сайта через php mail и SMTP. С ними вы можете ознакомиться в документации к CMS

Все сообщения с сайтов на Drupal отправляются посредством внутреней функции Druapl drupal_mail(). Через данную функцию реализовано большинство модулей для отправки. Настройки находятся в файле ./includes/mail.inc

В частности за отправку сообщений отвечают следующие строки:

drupal_mail($module, $key, $to, $language, $params = array(), $from = NULL, $send = TRUE) 

Настройка отправки почты в CMS Joomla 3

По умолчанию все сообщения с Joomla отправляются с помощью PHP mail, email отправителя указывается при установке CMS. Изменить email можно в админ-панели Joomla.

1. Переходим в Общие настройки;

2. Далее выбираем вкладку Сервер;

3. В поле E-Mail сайта указываем почтовый ящик от которого планируется отправлять сообщения и сохраняем.

Примечание: В поле Метод отправки должно быть выбрано PHP Mail.

Альтернативно, настройки для отправки почты могут быть прописаны в конфигурационном файле configuration.php, который расположен в корневой директории сайта.

В Joomla много модулей, каждый из которых может использовать собственную систему отправки почты с сайта, не зависящую от  глобальных настроек самой CMS Joomla. В связи с этим возможна ситуация, когда глобально настроена отправка через PHP mail, а в конкретном модуле, который, к примеру, отвечает за «Обратную связь», через SMTP.

Настройка отправки почты в CMS WordPress 5

По умолчанию все сообщения с Wordpress отправляются с помощью PHP mail, email отправителя указывается при установке CMS. Изменить email можно в админ-панели Wordpress.

1. Переходим в Настройки - Общие;

2. В поле Административный адрес E-Mail указываем почтовый ящик от которого планируется отправлять сообщения и сохраняем.

Внимание: Важно, чтобы в Административный адрес E-Mail был указан существующий адрес почты.

Также желательно проверить, есть ли плагины для отправки писем через SMTP, если они есть, то отключить. Это можно сделать в Плагины - Установленные. Часто в названии таких плагинов прямо указано «..SMTP..»

Иногда может возникнуть ошибка «Сообщение не удалось отправить. Возможная причина: сервер не поддерживает функцию mail()...»

Для ее решения нужно отредактировать файл на сайте ./wp-includes/pluggable.php найти в этом файле строчки:

// Set to use PHP's mail()

$phpmailer->IsMail();

И заменить на:

// Set to use PHP's mail()

$phpmailer->IsSendmail();

Различные модули WordPress могут использовать для отправки писем как php mail(), так и SMTP вне зависимости от глобальных настроек. В связи с этим возможна ситуация, когда глобально настроена отправка через php mail, а в модуле который, к примеру, отвечает за «Обратную связь», через SMTP.

Обращаем ваше внимание, что за инфомацией по дополнительным настройкам указанных и других CMS необходимо обращаться к документации CMS.

Проверить отправку почты с сервера

Выполнив проверку, можно будет убедиться в корректности работы функции PHP mail. 

Для проверки работы PHP mail() на сервере, в корневой папке вашего сайта необходимо создать файл testmail.php cо следующим содержимым (noreply@example.com это email на который будет отправлено сообщение):

<?php
$message = "test php mail";
$message = wordwrap($message, 70);
mail('noreply@example.com', 'My Subject', $message);

?>

Для проверки нужно запустить созданный файл, набрав в браузере вашдомен.by/testmail.php

Если сообщение «test php mail» пришло на указанный email, то функция php mail работает корректно. 



Вложения 
 
 screen1.png (43.55 КБ)
 screen2.png (62.63 КБ)
 0.png (149.84 КБ)
 1.png (157.57 КБ)
 2.png (158.48 КБ)
 3.png (88.05 КБ)
 4.png (109.67 КБ)


Если решение вопроса найти не удалось, Вы можете отправить нам заявку:



(61 голос(а))
Эта статья помогла
Эта статья не помогла