Отправка писем с сайта через SMTP на PHP

По наблюдениям в последнее время письма, отправляемые с сайтов через функцию mail() часто попадают в СПАМ, блокируется на хостинге или просто совсем не доходят до адресатов.

Довольно часто бывает так, что письма с сайта доходят то почтовый ящиков, заведённых на сайтах, но не приходят в любые почтовые ящики yandex.ru или на любые Email адреса mail.ru(***@mail.ru ***@list.ru, ***@inbox.ru, ***@bk.ru, ***@vk.ru).

В таком случае можно воспользоваться отправкой Email через SMTP с реального почтового ящика, добавленного на Вашем домене.

Для начала, скачайте архив PHPMailer.zip и выложите его в КОРЕНЬ сайта.


Для отправки писем через SMTP на PHP используйте следующий код:

<?php

/* В самом начале страницы, до любого выполняемого HTML кода!!! */

use PHPMailer\PHPMailer\PHPMailer;

use PHPMailer\PHPMailer\Exception;

?>

<!--

HTML код страницы...

-->

<?php

/* Подключение PHPMailer и SMTP */

require_once($_SERVER['DOCUMENT_ROOT'].'/PHPMailer/src/Exception.php');

require_once($_SERVER['DOCUMENT_ROOT'].'/PHPMailer/src/PHPMailer.php');

require_once($_SERVER['DOCUMENT_ROOT'].'/PHPMailer/src/SMTP.php');

/* Создание массива характеристик письма */

$mail = new PHPMailer\PHPMailer\PHPMailer();

/* Настройки SMTP - в Массив */

$mail->IsSMTP();

$mail->CharSet='UTF-8';

$mail->SMTPAuth=true;

$mail->SMTPDebug=0;

/* Подключение профильного адреса для отправления письма - в Массив */

$mail->Host='mail.nic.ru'; /* Пример для NIC.ru */

$mail->Port=25; /* SMTP порт NIC.ru */

$mail->Username='User@sitename.ru'; /* Адрес почты на Вашем сайте! */

$mail->Password='EmailPassword'; /* Пароль Вашей почты */

/* От кого - в Массив */

$mail->setFrom('User@sitename.ru', 'UserName');

/* Тема письма - в Массив*/

$mail->Subject="Тема отправляемого сообщения...";

/* Тело письма - в Массив*/

$mail->msgHTML($mess_s_id);

$mess='Текст отправляемого письма';

/* Кому - в Массив */

$addr='Email@Poluchatelya.ru';


/* Отправка */

if($mail->send()){

$messagemails="Письмо отправлено на: '".$addr."' ; ".date("d M Y - H:i:m:s");

}else{

$messagemails="ОШИБКА ОТПРАВКИ СООБЩЕНИЯ: ".$mail->ErrorInfo;

}


/* Устанавливаем 5 секундную паузу между отправками писем, чтобы SMTP сервер точно выдержал нагрузку. */

sleep(5);

/* Убираем ранее добавленного получателя(адресата) письма */

$mail->ClearAddresses();

/* Добавляем нового получателя(адресата) письма для очередной отправки...*/

$mail->addAddress($NEWaddr);


/* ... и при необходимости повторяем отправку письма на новый Email адрес...*/

?>

Тинькофф.Мобайл - подключение



Instagram

WebAdr

Главная Это полезно Портфолио Вопрос-ответ О студии Контакты
>> Web АДР >> Это полезно >> Отправка писем с сайта через SMTP на PHP в PHPMailer
Политика конфиденциальности

Студия «WebADR»

 
Создание сайтов
Веб дизайн
Анализ сайта
Анализ сайтов
Анализирование сайта
Доработка сайтов
Доработка сайта
Доработка сайтов
Доработка сайта
Раскрутка сайтов
Система SEOPult.Pro

Мы в Соц.Сетях:

FaceBook Twitter VKontakte VKontakte Google+