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

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

Обычно это встречается на бесплатных или бюджетных хостингах в целях защиты от рассылки спама.

Сегодня я покажу как настроить отправку почты с сайта через сторонний SMTP сервер на примере gmail. Почти все почтовые сервера перешли на авторизацию по SSL — это нужно учитывать при использовании данного класса. Единственное требование от хостинга — работа сокетов. Способ и сам класс для отправки форкнут с сайта vk-book.ru.

Что нужно настроить:

$mailSMTP = new SendMailSmtpClass('ваш логин на Gmail', 'пароль', 'хост', 'имя отправителя');
$result = $mailSMTP->send('Кому письмо', 'Тема письма', 'Текст письма', 'Заголовки письма');

Также в заголовках нужно не забыть указать от кого письмо.

Так это выглядит в работающем виде.

Сам класс можно скачать отсюда или с Яндекс диска.

<?php
require_once "SendMailSmtpClass.php";
 
$mailSMTP = new SendMailSmtpClass('soloman@gmail.com', '*****', 'ssl://smtp.gmail.com', 'Oleg', 465);
  
// заголовок письма
$headers= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n"; 	// кодировка письма
$headers .= "From: Oleg <nynyuk@gmail.com>\r\n";   			// от кого письмо
$result =  $mailSMTP->send('seo@gmail.com', 'gmail', 'Текст письма', $headers); // отправляем письмо
if($result === true)
{
    echo "Письмо успешно отправлено";
}
else
{
    echo "Ошибка отправки: " . $result;
}

Полезное

Я читаю

  • devaka.ru
  • megaindex.org
  • seoprofy.ua
  • webmasters.ru
  • тИЦ fakir.name
  • подписка