Лого 212d.ru
5 / 2
Отправка почты через SMTP с помощью PHP на картинке

Отправка почты через SMTP с помощью PHP

834 Святослав Романов Готовые решения 1 год назад +2

Здравствуйте дорогие читатели. В этой записи я расскажу Вам как отправить письмо с вашего сайта через SMTP сервер. Перед тем, как отправлять письма через SMTP необходимо обязательно настроить DMARC, DKIM, SPF. Если не настроить, ваши письма будут попадать в спам, но нам этого не нужно. Статья  - Как настроить DMARC, SPF, DKIM подпись на своем сайте.

Готовый класс - PHP

Для начала загрузите готовый класс, по ссылке - SendMailSmtpClass.php.zip

Распаковываем архив, и размещаем в любую директорию на Вашем сайте.

Настройка класса

Настройка очень простая. Разместите этот код на странице, которая присутствует на каждой. Обычно это - страница конфига.

require_once "SendMailSmtpClass.php"; // подключаем класс
	  
//ДЛЯ YANDEX.RU
$mailSMTP = new SendMailSmtpClass('mail@yandex.ru', 'pass', 'ssl://smtp.yandex.ru', 465, "UTF-8");
//ДЛЯ MAIL.RU
$mailSMTP = new SendMailSmtpClass('mail@mail.ru', 'pass', 'ssl://smtp.mail.ru', 465, "UTF-8");
//РАСШИФРОВКА ЗНАЧЕНИЙ
$mailSMTP = new SendMailSmtpClass('логин', 'пароль', 'хост', 'порт', 'кодировка письма');

Код отправки самого письма:

$from = array("Блог программиста", // Имя отправителя
		"support@212d.ru" // почта отправителя
);

$result =  $mailSMTP->send('Кому письмо, можно через , два получателя', 'Тема письма', 'Текст письма', $from); 

$result возвращает либо true - успешная отправка, либо false - ошибка.

Прикрепление файлов к письму

$mailSMTP->addFile("file1.jpg");
$mailSMTP->addFile("file2.jpg");

В итоге, если Вы все настроили правильно Ваше письмо будет отправляется через этот SMTP сервер с подписей DKIM, и не попадет в спам. 

Пишите свои вопросы, предложения в комментариях помогу Всем!

Вам понравился данный материал?
Полезный материалПлохой материал

Обсуждение материала

2 комментария



Семен Добров3 ноября 2018 г. Ответить
gmail.com в спам помещает, печалька :-(
Святослав Романов4 ноября 2018 г. Ответить
Потому что нужно настроить dmarc,dkim,spf.