багом не является Регистрация, ошибка при отправки почты

belomaxorka

Разработчик
Администратор
Эта штука меня очень даже развеселила!
Я знал что она вам понравится) есть много крутых штук) это лишь одна из них)
Мне тоже нравится всякая динамика и происходящее под капотом) Вы даже не представляете как много произошло вещей пока вы нажимали на кнопку Test или например когда писали своё сообщение, о котором я по итогу узнал благодаря сообщению на почте)

Если интересно как работает почта, то рекомендую это
видео посмотреть на Ютубе, оно тоже уверен, вас развеселит)
 

TorSav

Пользователь
А данные которые вы вводите в форму на сайте для тестирования почты, и в настройках движка - одинаковы?
Та ну да. :)
Уже миллион раз вводил одно и тоже. Ладно, дальше завтра, а то уже глубокая ночь. Всем спокойной ночи.)
 

T3G1NG

Пользователь
1. Почтовый провайдер мой хостинг разумеется)))
2. Ты знаешь? Еще со времени когда я юзал TheBat! и подставлял ради прикола в поле настроек отправки SMTP сервера все три варианта: torsav.com, mail.torsav.com и smtp.torsav.com. То все три были работоспособными. Мне это тогда показалось странным. Конкретно потому, что ГДЕ О_О это все прописано? Ну явно не в ISP Manager))) Не плохо бы у них спросить, поддерживаю)))
3. Знать бы что такое CF. Но можно у них и спросить, чего бы и нет?
4. Это наврядли. TheBat! работает, я об этом писал. Но почему бы тоже не спросить? Сделаем. Тем более спросить у хостинга - это дело святое)))

Не-не тут все в порядке, пороль внутри конечно писал. Но всеравно спасибо за безпокойство!

У меня обычный хостинг. VDS/VPS, и прочие то дорогие, не по карману. Нет ну я думаю. Что форум это хорошо. Но я всегда любил с файлами поиграться. По этому и думаю, а почему бы не добавить к форуму еще и файлов. В итоге остановился на движке torrentpier. Это гараздо веселее. Если торенты будут засаживать производительность их всегда можно отключить. В общем норм.
Похоже на портянки сарказма, да ещё и море из текста развелось. Такими темпами - вам только в гугл
 

T3G1NG

Пользователь
Пришел я вчера с работы. Смотрю второй сертификат в списке, который мне создавали после обращения в поддержку хостинга Перестал работать, у него загорелась красная лампочка в колонке тип в разделе SSL-сертификаты. Хотя годен он до 2025-07-25. Тут собственно можно создать 3 вида сертификатов: Существующий, Самоподписанный и Let's Encrypt. И тот который перестал работать в разделе тип написано, что Самоподписанный (в подсказке пишет Не удалось получить сертификат Let’s Encrypt. Посмотрите журнал для подробностей). А в правом нижнем углу экрана появилась подсказка - обратитесь к администратору. В общем вчера ответ решил не писать после работы. Так как писать целый лист текста мне было уже не под силу(. В поддержку к хостингу то же решил не писать. Так как в в прошлом своем ответе они ни словом не обранильсь о работоспособности моего сайта. Хотя я им про сайт писал свой. Ну я просто понял, что оно им не надо. По этому решил им не писать. Тем более, что почта с клиента хостинга работает. А с сайтом я должен самостоятельно управляться.

Дальше вчера решил протестить, "как есть", и поставить твой код:
PHP:
// Email
$bb_cfg['emailer'] = [
    'enabled' => true,
    'smtp' => [
        'enabled' => true, // send email via external SMTP server
        'host' => 'mail.torsav.com', // По умолчанию 'localhost', // SMTP server host
        'port' => 465, // По умолчанию 25, // SMTP server port
        'username' => '[email protected]', // SMTP username (if server requires it)
        'password' => ''(скрыл) , // SMTP password (if server requires it)
        'ssl_type' => 'ssl', // По умолчанию '', // SMTP ssl type (ssl or tls)
    ],
];
Но увы не заработало. То же писало какое то сообщение. Ну я что? Я понимаю, что тестирую что то не то. Так как если с сертификатом не пойми что, то зачем тестить дальше с такой конфигурацией. Решил провести другие опыты.(



Попробовал отключить первый сертификат тип "Существующий", от него работал www-домен и хотел потестить с отключенным. Результат мне не очень понравился так, как браузер начал ругатся, что к моему сайту нет доверия и блочить его. В итоге включил первый сертификат обратно. Потом создал третий сертификат в списке. Его хотел поставить на почтовый домен и поставил. Помню вчера много тестил и ничего не получалось. Причем, что интересно мне было. Второй сертификат, который мне создавали, Самоподписанный, имеет два поля. Поле Email со значением [email protected] и поле Альтернативное имя со значением mail.torsav.com. И хочу сказать, что не получалось мне создавать сертификаты так, что бы эти два поля были видны одновременно при просмотре уже созданного сертификата. Это как то странно. В общем я вчера понял, что эти сертификаты меня задолбали. Ох. И решил вообще отключить галочку "Защищенное соединение (SSL)" в подсказке написано (Использовать защищенное соединение с email-доменом по протоколу SSL/TLS?). Дальше тестил со снятой галочкой. Если даже по простому не удается мне самому ничего сделать. О тестах со снятой галочкой пишу ниже.


Тесты 1-3.
"Защищенное соединение (SSL)" в почтовом домине выключено.
Прикинул я себе, что torrentpier использует указанные выше настройки, что бы использовать мой почтовый домен, как почтовый клиент для отправки письма зарегистрированному пользователю. Вот я и думаю. А давай я затещу, какой нибудь почтовый клиент. Что бы понять, это что то с проектом torrentpier или с моей почтой. Дальше нашел, что нибудь простенькое The Bat! версии 3.99. Настроил ее так, как показано на скрине. Результаты на скринах. Успешно отправляется от моего почтового сервера (torsav.com) и приходит на чужой сервер почты только в первом тесте.


Тесты 4
"Защищенное соединение (SSL)" в почтовом домине включено.
Результаты тестов точно такие как и в 1-3 тестах.
Почтовый клиент The Bat! отправляет успешно только в 1 варианте, а во 2-3 письмо не приходит на другой сервер почты. То есть, еще раз. Даже с обычными настройками The Bat! успешно работает даже если в моем почтовом домине включено "Защищенное соединение (SSL)". Из этого я сделал вывод, что если мне и удастся отослать почту. То разве, что в обычном режиме от torrentpier. Но! Это я уже проходил и это было без успешно в первых постах темы с настройками по умолчанию в конфиг ($bb_cfg['emailer']). Правильно или не правильно я понимаю.
И так, как "Защищенное соединение (SSL)" в почтовом домине сейчас включено. И ситуация как я могу правильно или не правильно понимать. Эквивалентна той, что была вчера по возвращению домой. Закрою глаза на то, что второй сертификат в списке SSL-сертификатов, почему то перестал работать (уведомление; на практике не проверял, не знаю как). А он использовался в почтовом домине. То теперь первый по списку буду использовать в почтовом домине. То есть и www-домен и почтовый домен работают от одного сертификата. Я так понял это нормально. А на третий который я создавал - я решил забить.

Отдельно хотелось добавить. Что в настройках The Bat! в группе "Отправка почты", в поле SMTP-сервер. Можно написать: torsav.com, mail.torsav.com, smtp.torsav.com. Результат одинаковый в зависимости от соединения, про которое я писал выше.
И так поехали свледующий тест.

Тест 5.
"Защищенное соединение (SSL)" в почтовом домине включено. Домен www-домен и почтовый домен использует первый по списку сертификат. Тещу уже не The Bat!, а torrentpier выставляю указаные выше разработчиком настройки:
PHP:
// Email
$bb_cfg['emailer'] = [
    'enabled' => true,
    'smtp' => [
        'enabled' => true, // send email via external SMTP server
        'host' => 'mail.torsav.com', // По умолчанию 'localhost', // SMTP server host
        'port' => 465, // По умолчанию 25, // SMTP server port
        'username' => '[email protected]', // SMTP username (if server requires it)
        'password' => ''(скрыл) , // SMTP password (if server requires it)
        'ssl_type' => 'ssl', // По умолчанию '', // SMTP ssl type (ssl or tls)
    ],
];
Тест закончился не успешно и выводом сообщения:
Код:
Failed sending email: Connection could not be established with host "ssl://mail.torsav.com:465": stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed

Вывод:
- В первом сообщении темы я писал об ошибке:
Код:
Failed sending email: Expected response code "250/251/252" but got code "550", with message "550-Verification failed for 550-Unknown user 550 Sender verify failed".
- Дальше я писал сообщение об ошибке:
Код:
Failed sending email: Connection could not be established with host "ssl://mail.torsav.com:587": stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages: error:1408F10B:SSL routines:ssl3_get_record:wrong version number
Теперь пишу об ошибке:
Код:
Failed sending email: Connection could not be established with host "ssl://mail.torsav.com:465": stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed
Проблема явно двигается с места и меня это смешит, потому, что куда она двигается, совершенно не известно.))) И удастся ли мне запустить torrentpier на своем сервере в итоге я не знаю. Больше не знаю, что написать. Я бы подсрачника дал бы тому человеку, который придумал эти сертификаты)))
Предлагаю остановиться на одном порте и типе сертифика:
587 -> TLS

И логи сюда
 

TorSav

Пользователь
Утром решил еще потестить, чего нибудь по быстрому. Так, как времени особо нету. Интересно то, что зачем torrentpier (как я сам понял) пытается соединится по защищенному соединению. Так как появляется ошибка с надписью:
Код:
Failed sending email: Unable to connect with STARTTLS: stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed
Если в настройках я выставлял:
1. 'port' => 25,
2. 'ssl_type' => ''
3. Выключено на время теста было SSL у почтового домена.
Как это вообще можно понять???
 
Последнее редактирование:

belomaxorka

Разработчик
Администратор
Утром решил еще потестить, чего нибудь по быстрому. Так, как времени особо нету. Интересно то, что зачем torrentpier (как я сам понял) пытается соединится по защищенному соединению. Так как появляется ошибка с надписью:
Код:
Failed sending email: Unable to connect with STARTTLS: stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed
Если в настройках я выставлял:
1. 'port' => 25,
2. 'ssl_type' => ''
3. Выключено на время теста было SSL у почтового домена.
Как это вообще можно понять???
1722321150207.png

Сервер сказал движку что может подключаться по STARTTLS, и видимо поэтому он пытается... Тут видно, что если у нас TLS отключен в конфигурации (что и сделано) то он проверяет поддерживает ли наш PHP OpenSSL, а после движок опрашивает SMTP сервер может ли тот подключиться по STARTTLS, сервер ему отвечает - "Да, братан, могу, подключайся скорее". Движок начинает подключение и тут при попытке установить соединение падает в ошибку из-за того что не получается открыть STARTTLS соединение, не удается поскольку движок не может проверить подлинность сертификата, хотя сервер заявил что он у него есть), и тот ему отвечает - "Блин, братан, не хочу я с тобой дел иметь, ты какой-то мутный тип. Про защищенное соединение базаришь, а сам с сертификатом кривым. Иди ты лесом короч", и происходит исключение в виде ошибки.

Есть опция verify_peer которая отключает проверку сертификата, это актуально для самоподписанных сертификатов. Но эту опцию надо добавить в движок.
 
Последнее редактирование:

belomaxorka

Разработчик
Администратор
Вот на вашем скрине даже видно, что сервер при подключении по 25 порту отдает заголовок STARTTLS. Движку не нравится судя по всему ваш самоподписной сертификат. Нужен сертификат выпущенный центром сертификации.
1722321609176.png
 
Последнее редактирование:

belomaxorka

Разработчик
Администратор
Я сейчас запущу локальный SMTP сервер и проверю работу на 25 порту.

UPD: При работе на 25 порту всё нормально доходит.

UPDD: На 465 и 587 такие же ошибки как у вас, поскольку сертификат самоподписной.
 

Вложения

  • 1722323967810.png
    1722323967810.png
    39.8 KB · Просмотры: 4
  • 1722323999626.png
    1722323999626.png
    59.3 KB · Просмотры: 4
  • 1722324062145.png
    1722324062145.png
    36.2 KB · Просмотры: 4
Последнее редактирование:

belomaxorka

Разработчик
Администратор
Как итог, что мы имеем:
- Ваш сервер при подключении по 25 порту, с пеной у рта утвержает что он работает на STARTTLS.
- Подключение неудачное на 465 и 587 портах, поскольку сертификат самоподписной

Я в движок добавлю опцию которая позволит отключить проверку подлинности сертификата. Но отключать её это не решение конечно, тем более на боевом сервере. От вас требуется сейчас выпустить нормальный сертификат и посмотреть что будет.
 
Последнее редактирование:
Сверху