Перестали отправляться письма

Garri83

Проверенные
Сообщения
1,024
Реакции
205
Баллы
11,065
Пытаюсь отправить тестовое письмо тут /admin.php?tools/test-email

Выдает ошибку:
Код:
!! Expected response code 250/251/252 but got code "451", with message "451 Temporary local problem - please try later

" (code: 451)

В логах exim ошибка:
Код:
2019-12-24 22:56:39 H=site.ru (site.ru) [xxx.xxx.xxx.xx] I=[xxx.xxx.xxx.xx]:587 F=<[email protected]> A=auth_cram_md5:[email protected] temporarily rejected RCPT <[email protected]>: MYSQL: query failed: Unknown column 'message_size_limit' in 'on clause'

Письма не отправляются только на ящики моего домена. На mail.ru и gmail.com письма уходят нормально.

Кто разбирается подскажите как исправить?
 
Garri83, было такое дело у меня на форуме!
все стояло по дефолту все работало норм примерно через 3 неделю почта перестала работать.
Теперь использую SMTP просто вписал домен и 25 порт + SSL
 
Теперь использую SMTP просто вписал домен и 25 порт + SSL
Это вообще не проканало. Выдает ошибку
Код:
++ Starting Swift_SmtpTransport
!! Connection could not be established with host site.ru [ #0] (code: 0)

У меня работают через SMTP и 587 и без шифрования. Отправляются на все ящики, кроме моего домена.

Как я понял проблема в настройке проверки квот письма

Код:
 Bounce email users over quota

discard message = 422 Mailbox $local_part@$domain is over quota
domains = +local_domains
condition = ${lookup mysql{SELECT 1 \
FROM mailbox \
JOIN quota2 ON quota2.username = mailbox.username \
AND quota2.bytes + ${if ={$message_size}{-1}{${expand:message_size_limit}}{$message_size}} >= mailbox.quota \
WHERE mailbox.username = LCASE('${quote_mysql:$local_part@$domain}') \
AND mailbox.active = 1}}

discard message = 422 Mailbox $local_part@$domain is over quota
domains = +local_domains
condition = ${lookup mysql{SELECT 1 \
FROM alias_domain \
JOIN mailbox ON mailbox.local_part = LCASE('${quote_mysql:$local_part}') \
AND mailbox.domain = alias_domain.target_domain \
AND mailbox.active = 1 \
JOIN quota2 ON quota2.username = mailbox.username \
AND quota2.bytes + ${if ={$message_size}{-1}{${expand:message_size_limit}}{$message_size}} >= mailbox.quota \
WHERE alias_domain.alias_domain = LCASE('${quote_mysql:$domain}') \
AND alias_domain.active = 1}}

Закомментировал весь этот блок для теста и письма стали приходить.

Теперь осталось только настроить правильно.
 
Последнее редактирование модератором:
Smalesh, я чайник в этом. Разбираюсь методом тыка. Если не сложно подскажите, что делать.
Если я не ошибаюсь то ошибка связана с MYSQL: query failed: Unknown column 'message_size_limit' in 'on clause'
Может быть вы пропустили expand?

{${expand:message_size_limit}}
 
Последнее редактирование:
Может быть вы пропустили expand?
{${expand:message_size_limit}}
Гуглил, там такие же советы. Вверху код из конфига, этот код вроде на месте.

Восстановить/чинить/доставать с бекапа
Восстанавливал из бэкапа. Ошибок не выдавало.

Почта перестала отправляться сразу на 3х сайтах. Поэтому думаю это дело не в целостности базы.

Я обновил версию MariaDB до 10.3 и phpMyAdmin до 4.9.2 Вот после почта вообще перестала отправляться. Колдовал, колдовал, что решил откатиться обратно к MariaDB 10.1

Почта заработала с горем пополам. Осталось победить вышеприведённую ошибку.
 
Последнее редактирование модератором:
Garri83, было такое дело у меня на форуме!
все стояло по дефолту все работало норм примерно через 3 неделю почта перестала работать.
Теперь использую SMTP просто вписал домен и 25 порт + SSL
А почему перестала работать?
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу