Отправка писем с сайта через 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 адрес...*/

?>

>> Web АДР >> Это полезно >> Отправка писем с сайта через SMTP на PHP в PHPMailer
Политика конфиденциальности
Страница создана: 20-12-2021; Последнее обновление: 23-02-2024

Студия «WebADR»

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

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

VKontakteОдноклассники