В последнее время письма отправляемые с хостингов через функции mail()
и mb_send_mail()
часто попадают в спам или совсем не доходят до адресатов. Альтернатива – это отправка e-mail через SMTP с реального почтового ящика.
Сам PHPMailer доступен на Githab.
Пример с кодом для отправки писем:
use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; require_once '/PHPMailer/src/Exception.php'; require_once '/PHPMailer/src/PHPMailer.php'; require_once '/PHPMailer/src/SMTP.php'; // Для более ранних версий PHPMailer //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 = '«Hello, world!»
'; $mail->msgHTML($body); // Приложение $mail->addAttachment(__DIR__ . '/image.jpg'); $mail->send();
Если при отправке писем возникает ошибка "Could not connect to SMTP host" - необходимо добавить следующие строки:
$mail->SMTPOptions = array( 'ssl' => array( 'verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true ) );
Ниже представлены конфигурации для самых популярных почтовых клиентов:
Яндекс Почта
$mail->Host = 'ssl://smtp.yandex.ru'; $mail->Port = 465; $mail->Username = 'Логин@yandex.ru'; $mail->Password = 'Пароль';
Mail.ru
$mail->Host = 'ssl://smtp.mail.ru'; $mail->Port = 465; // если на 465 не работает - пробуем 587 $mail->Username = 'Логин@mail.ru'; $mail->Password = 'Пароль';
Gmail
$mail->Host = 'ssl://smtp.gmail.com'; $mail->Port = 465; $mail->Username = 'Логин@gmail.com'; $mail->Password = 'Пароль';
Если возникает ошибка при отправки почты, то нужно отключить двухфакторную авторизацию и разблокировать «ненадежные приложения» в настройках конфиденциальности аккаунта https://myaccount.google.com/security?pli=1
Рамблер
$mail->Host = 'ssl://smtp.rambler.ru'; $mail->Port = 465; $mail->Username = 'Логин@rambler.ru'; $mail->Password = 'Пароль';
iCloud
$mail->Host = 'ssl://smtp.mail.me.com'; $mail->Port = 587; $mail->Username = 'Логин@icloud.com'; $mail->Password = 'Пароль';
Мастерхост
$mail->Host = 'ssl://smtp.masterhost.ru'; $mail->Port = 465; $mail->Username = 'Логин@домен.ru'; $mail->Password = 'Пароль';
Timeweb
$mail->Host = 'ssl://smtp.timeweb.ru'; $mail->Port = 465; $mail->Username = 'Логин@домен.ru'; $mail->Password = 'Пароль';
Лимит – 2000 писем в день, но не более 5 в секунду.
Хостинг Центр (hc.ru)
$mail->Host = 'smtp.домен.ru'; $mail->SMTPSecure = 'TLS'; $mail->Port = 25; $mail->Username = 'Логин@домен.ru'; $mail->Password = 'Пароль';
Доступ к сторонним почтовым серверам по SMTP-портам (25, 465, 587) ограничен, разрешена отправка не более 300 сообщений в сутки.
REG.RU
$mail->Host = 'ssl://serverXXX.hosting.reg.ru'; $mail->Port = 465; $mail->Username = 'Логин@домен.ru'; $mail->Password = 'Пароль';
Лимит – 3000 писем в день. Имя сервера можно узнать в разделе «Информация о включенных сервисах и паролях доступа»
ДЖИНО
$mail->Host = 'ssl://smtp.jino.ru'; $mail->Port = 465; $mail->Username = 'Логин@домен.ru'; $mail->Password = 'Пароль';
В разделе «Услуги» нужно включить опцию «SMTP-сервер»
nic.ru
$mail->Host = 'ssl://mail.nic.ru'; $mail->Port = 465; $mail->Username = 'Логин@домен.ru'; $mail->Password = 'Пароль';
В настройках веб-сервера необходимо включить PHP расширение «openssl».
Бегет — beget.com
$mail->Host = 'ssl://smtp.beget.com'; $mail->Port = 465; $mail->Username = 'Логин@домен.ru'; $mail->Password = 'Пароль';
Спринтхост — sprinthost.ru
$mail->Host = 'ssl://smtp.ВАШ_ДОМЕН'; $mail->Port = 465; $mail->Username = 'Логин@домен.ru'; $mail->Password = 'Пароль';
Разработка сайта
Подайте заявку на разработку сайта на базе готового решения от компании 1С-Битрикс или одного из партнеров компании. Максимально подробно опишите, чему будет посвящен сайт, если это интернет-магазин - что он будет продавать, нужна ли мультиязычность, будут ли разные типы цен (розница, опт, крупный опт), будет ли интеграция с 1С, будет ли выгрузка товаров на различные торговые площадки...
Сопровождение сайта
Вы можете подать заявку на сопровождение вашего сайта на базе 1С-Битрикс. Сопровождение включает в себя: проверка актуальности обновлений сайта, проверка актуальности резервной копии, консультации по сайту. Опишите в заявке, какие еще объемы планируются на сопровождении и на какой срок вы планируете заключить договор на сопровождение - мы подберем подходящий вам бюджет на сопровождение
Работы по сайту
Вы можете подать заявку на выполнение определенного объема работ по сайту. Опишите в заявке объем работ. Это может быть разработка какого-то нового функционала, доработки по имеющемуся функционалу, доработки под требования сео-специалистов. На основании заявки вам будет сформирован бюджет работ, а также названы сроки на выполнение тех или иных работ.