PHP

Отправка писем через SMTP PHPMailer

В последнее время письма отправляемые с хостингов через функции mail() и mb_send_mail() часто попадают в спам или совсем не доходят до адресатов. Альтернатива это отправка e-mail через SMTP с реального почтового ящика.

Проект на GitHub.com, скачать архив PHPMailer.rar.

require_once '/PHPMailer/PHPMailerAutoload.php';

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

// Настройки SMTP
$mail->isSMTP();
$mail->SMTPAuth = true;
$mail->SMTPDebug = 0;

$mail->Host = 'ssl://smtp.gmail.com';
$mail->Port = 465;
$mail->Username = 'Логин';
$mail->Password = 'Пароль';

// От кого
$mail->setFrom('mail@snipp.ru', 'Snipp.ru');        

// Кому
$mail->addAddress('mail@site.com', 'Иван Петров');

// Тема письма
$mail->Subject = $subject;

// Тело письма
$body = '<p><strong>«Hello, world!» </strong></p>';
$mail->msgHTML($body);

// Приложение
$mail->addAttachment(__DIR__ . '/image.jpg');

$mail->send();
1

Яндекс Почта

$mail->Host = 'ssl://smtp.yandex.ru';
$mail->Port = 465;
$mail->Username = 'Логин@yandex.ru';
$mail->Password = 'Пароль';
2

Mail.ru

$mail->Host = 'ssl://smtp.mail.ru';
$mail->Port = 465;
$mail->Username = 'Логин@mail.ru';
$mail->Password = 'Пароль';
3

Gmail

$mail->Host = 'ssl://smtp.gmail.com';
$mail->Port = 465;
$mail->Username = 'Логин@gmail.com';
$mail->Password = 'Пароль';

Если возникает ошибка при отправки почты, то нужно отключить двухфакторную авторизацию и разблокировать «ненадежные приложения» в настройках конфиденциальности аккаунта https://myaccount.google.com/security?pli=1

4

Рамблер

$mail->Host = 'ssl://smtp.rambler.ru';
$mail->Port = 465;
$mail->Username = 'Логин@rambler.ru';
$mail->Password = 'Пароль';
5

iCloud

$mail->Host = 'ssl://smtp.mail.me.com';
$mail->Port = 587;
$mail->Username = 'Логин@icloud.com';
$mail->Password = 'Пароль';
6

Мастерхост

$mail->Host = 'ssl://smtp.masterhost.ru';
$mail->Port = 465;
$mail->Username = 'Логин@домен.ru';
$mail->Password = 'Пароль';
7

Timeweb

Лимит – 2000 писем в день, но не более 5 в секунду.

$mail->Host = 'ssl://smtp.timeweb.ru';
$mail->Port = 465;
$mail->Username = 'Логин@домен.ru';
$mail->Password = 'Пароль';
8

Хостинг Центр (hc.ru)

Доступ к сторонним почтовым серверам по SMTP-портам (25, 465, 587) ограничен, разрешена отправка не более 300 сообщений в сутки.

$mail->Host = 'smtp.домен.ru';
$mail->SMTPSecure = 'TLS';
$mail->Port = 25;
$mail->Username = 'Логин@домен.ru';
$mail->Password = 'Пароль';
9

REG.RU

Лимит – 3000 писем в день.

$mail->Host = 'ssl://serverXXX.hosting.reg.ru';
$mail->Port = 465;
$mail->Username = 'Логин@домен.ru';
$mail->Password = 'Пароль';

Имя сервера можно узнать в разделе «Информация о включенных сервисах и паролях доступа»:

10

ДЖИНО

В разделе «Услуги» нужно включить опцию «SMTP-сервер»:

$mail->Host = 'ssl://smtp.jino.ru';
$mail->Port = 465;
$mail->Username = 'Логин@домен.ru';
$mail->Password = 'Пароль';
11

nic.ru

В настройках веб-сервера необходимо включить PHP расширение «openssl».

$mail->Host = 'ssl://mail.nic.ru';
$mail->Port = 465;
$mail->Username = 'Логин@домен.ru';
$mail->Password = 'Пароль';
04 апреля 2018
cURL PHP – это библиотека предназначенная для получения и передачи данных через такие протоколы, как HTTP, FTP, HTTPS....
В статье приведены основные примеры работы с расширением PHP PDO. Такие как подключение к БД, получение, изменение и...
Библиотека GD дает возможность работать с изображениями в PHP. Далее представлены примеры как изменить размер, вырезать...
В продолжении темы работы с массивами поговорим о типичной задаче – их сортировке. Для ее выполнения в PHP существует...