Forums / National / Russian / Тех. поддержка / Письма активации

webitproff
#46691 2023-05-28 10:03

 не стал плодить темы

помоему этот плагин был взят за основу (честно не помню откуда взял)

вобщем обновил отправку почты через SMTP на основе релиза PHPMailer v.6.8.0 от марта 2023 года и проверил на Cotonti 0.9.23 beta под php 8.1

сам плагин скачать с репозитория

Описание и инструкции

Важно! Начиная с ноября 2022 г.

новые отправители писем на личные аккаунты Gmail должны настроить SPF или DKIM. подробно

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

# Cot-PHPMailer_Cotonti_up_PHP8.1 Плагин для Cotonti отправки почты через SMTP на основе релиза [PHPMailer](https://github.com/PHPMailer/PHPMailer) v.6.8.0 от 28.05.2023

## Совместимость Проверял на Cotonti 0.9.23 beta под php 8.1

## Installation

1. в папку с плагинами на сайте скопировать папку "phpmailer"

2. затем как админ зайти по адресу: Управление сайтом / Расширения / PHPMailer_v.6.8.0

3. Установить плагин и указать настройки подключения по примеру со скриншота.

## License для свободного использования.

 

Отправка писем через SMTP в PHPMailer В последнее время письма отправляемые с хостингов через функции mail() и mb_send_mail() часто попадают в спам или совсем не доходят до адресатов. Альтернатива – это отправка e-mail через SMTP с реального почтового ящика. Проект на GitHub.com [PHPMailer](https://github.com/PHPMailer/PHPMailer)


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';


$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@site.com', 'site.com');		

// Кому


$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; 
$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 Отключить двухфакторную авторизацию Gmail Разблокировать «ненадежные приложения» в настройках Gmail Рамблер


$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 = 'Пароль';

Бегет — beget.com


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

Мастерхост


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

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


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

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


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

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


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

Имя сервера можно узнать в разделе «Информация о включенных сервисах и паролях доступа»: Имя сервера на reg.ru ДЖИНО В разделе «Услуги» нужно включить опцию «SMTP-сервер»: У jino.ru нужно включить опцию «SMTP-сервер»


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

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


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

Спринтхост — sprinthost.ru


$mail->Host = 'ssl://smtp.ВАШ_ДОМЕН';
$mail->Port = 465;
$mail->Username = 'Логин@домен.ru';
$mail->Password = 'Пароль';
аккаунт удален - не срослось с разработчиками
ушел на другой движок
This post was edited by webitproff (2023-05-28 11:54, 11 months ago)