Не работает почта. Глубокое погружение.

Автор Paramedic, 22 декабря 2023, 17:08:46

« назад - далее »

0 Пользователи и 3 гостей просматривают эту тему.

Paramedic

Из за того, что Hetzner отказал в обслуживании, пришлось переехать на nic.ru. Заодно с переездом обновил форум до версии 2.1.4

Заметил, что не работает почта при регистрации, восстановлении пароля, оповещении о регистрации.

Начал разбираться с проблемой.

phpinfo сообщило, что  sendmail_path настроен, указывает на /usr/sbin/sendmail

Пробная отправка почты с помощью скрипта:
[$res = mail('mymail@yandex.ru', 'Test Mail', 'Test Message');
var_dump($res);

показала, что почта пришла но тотчас упала в спам. Я выяснил, что почта была отправлена с так называемого "технического" домена - алиаса для основного.

Я решил, что по этой причине письма валятся в спам

Написал в поддержку, мне ответили, что ф-я mail работает только с использованием технического домена и изменить это на их виртуальном хостинге нельзя.

Ну ок. Пошёл, настроил почту форума на SMTP.

Тестовая отправка почты работает (Админка-обслуживание-очередь сообщений-тестовая отправка). Письмо пришло и в нём всё ок, домен, отправитель, шифрование, подписи.

Но, например, отправляю жалобу на сообщение. Форум пишет, мол успешно отправлена.

Но я не вижу письма, даже в спаме.

Мне бы хотелось проверить, отправляет ли форум почту или нет, чтобы предметно и с фактами разговаривать с поддержкой.

Может быть кто-нибудь знает, в каком месте следует задебажить исходники форума, чтобы иметь на руках чёткие доказательства, что почта уходит.

Спасибо!

digger®

Проверьте через mailtester, что скажет на письмо отправленное через ваш smtp, а то может там письма и до спама даже не дойдут.

Если хотите, чтобы почта нормально доходила и не делаете массовые рассылки на тысячи адресов, то лучше всего настроить на Яндексе почту для домена + dkim, spf, dmark. Через mailtester удостоверится, что набираете баллов 9-10.
Ну или под имеющийся smtp все отлаживать.


Paramedic

Цитата: digger® от 24 декабря 2023, 19:42:04Что значит отказал в обслуживании, почему просто адрес не сменили на другую страну?
Да. Я решил не рисковать. Они в любой момент могут затребовать подтверждающие документы. Да и с оплатой проблемы. За подсказку про mailtester спасибо. Не знал, что такое существует. Буду пробовать.

Paramedic

Ещё раз здравствуйте!

Цитата: digger® от 24 декабря 2023, 19:39:09лучше всего настроить на Яндексе почту для домена
В настоящее время для меня не самый лучший вариант, т.к. у меня больше трёх ящиков

Цитата: digger® от 24 декабря 2023, 19:39:09dkim, spf, dmark
Нашёл, где всё это добро настраивается на nic.ru, включил, настроил. Mailtester выдал вердикт, что всё ок.

Также, нашёл, где отправляется почта. В Sources\Subs-Post.php

В начале функции 
function smtp_mail($mail_to_array, $subject, $message, $headers)


вставил код:


$fh = fopen('/home/поскипано/forum/avatars/log.txt', 'a+');
fwrite($fh, 'Адреса для отправки: ' . implode('|',  $mail_to_array) . "\n\n");
fwrite($fh, $subject . "\n\n");
fwrite($fh, $headers . "\n\n");
fwrite($fh, $message . "\n\n");
fclose($fh);

Он логирует отправку почты. Выяснил, что письма при регистрации уходят тому, кто регистрируется, также уходят письма оповещающие получение личных сообщений. А вот письма на события о подаче жалобы и о новых регистрациях на форуме - не уходят. Такое ощущение, что форум их просто не отсылает, вместо этого появляются оповещения в интерфейсе форума. Это не то, чего бы мне хотелось. Т.к. придётся заходить на форум просто для того, чтобы проверить есть ли эти оповещения.

Перерыл весь интерфейс админки, но не нашёл, где включить отправку на почту этих уведомлений.

Подскажите, есть ли где переключатели? Или в этой версии форума с этим всё так плохо?

Paramedic

Цитата: Paramedic от 25 декабря 2023, 16:04:09Перерыл весь интерфейс админки, но не нашёл, где включить отправку на почту этих уведомлений.
Нашёл. Это не в интерфейсе админки. Это в интерфейсе оповещений. Кликнуть по "Оповещения" в шапке форума, потом - настройки. Сейчас настрою и проверю, будут ли ходить письма. 
Ещё один непонятный вопрос: что это за сообщение и переключатель?
https://disk.yandex.ru/i/5bajwAP_aEi4vA

Поставил чистый форум локально на машину, там такой строчки вообще нет.

Paramedic

Всё, разобрался. Это настройки мода dQuoteSelection, а проблемы возникают потому, что в движке форума 2.1.4 русский язык в кодировке utf8 называется просто russian вместо russian-utf8. Переименовал Dquote.russian-utf8.php в Dquote.russian.php, закинул в каталог Themes\default\languages\Dquote, проблема ушла.

digger®

Цитата: Paramedic от 25 декабря 2023, 16:56:55Всё, разобрался. Это настройки мода dQuoteSelection, а проблемы возникают потому, что в движке форума 2.1.4 русский язык в кодировке utf8 называется просто russian вместо russian-utf8. Переименовал Dquote.russian-utf8.php в Dquote.russian.php, закинул в каталог Themes\default\languages\Dquote, проблема ушла.
dQuoteSelection вообще не должен работать на SMF2.1. И там уже есть из коробки этот функционал.

Paramedic

Цитата: digger® от 25 декабря 2023, 19:30:29dQuoteSelection вообще не должен работать на SMF2.1. И там уже есть из коробки этот функционал.

Он устанавливается в режиме совместимости. Есть настройки при установке мода. Не знал, что оно уже из коробки работает. Пойду удалю мод. Спасибо.