«Работа с очередью сообщений в Postfix» и «Exim4»: разница между страницами

Материал из support.qbpro.ru
(Различия между страницами)
imported>Vix
Нет описания правки
 
imported>Vix
Нет описания правки
 
Строка 1: Строка 1:
'''Посмотреть очередь'''
'''Установка и настройка'''
mailq
'''Принудительно запустить отправку из очереди'''
mailq -q
или:
postqueue -f


'''Очистить очередь'''
Прежде всего обновите локальный список пакетов с помощью вашего пакетного менеджера, например на Ubuntu и Debian это можно сделать с помощью apt:
apt-get update


'''Удалить все сообщения:'''
Для установки выполните команду:
  postsuper -d ALL
  apt-get install exim4


'''Удалить определенное письмо из очереди:'''
Примечание: если вам необходимо использовать ACL и другие расширенные функции, то установите exim4-daemon-heavy:
  postsuper -d <идентификатор письма>
  apt-get install exim4-daemon-heavy


* идентификатор письма можно увидеть командой '''mailq.'''<br>
Чтобы перейти к настройке, выполните команду:
'''Количество писем в очереди'''
dpkg-reconfigure exim4-config


Команда '''mailq''' в конце выдает общее количество сообщений в очереди, например:
Нажмите Ok для начала настройки.
-- 23 Kbytes in 18 Requests.
'''РЕШЕНИЕ ПРОБЛЕМ'''
 
<hr>
* в данном примере в очереди находится 18 сообщений общим объемом 23 Кбайт.<br>
* '''defer (-53): retry time not reached for any host'''
'''Также, очередь можно посмотреть командами:'''
Повреждены ваши exim db Это возможно связанно с недоступостью почтового сервера какой-то время.
find /var/spool/postfix/deferred -type f | wc -l
 
find /var/spool/postfix/active -type f | wc -l
 
find /var/spool/postfix/incoming -type f | wc -l
 
find /var/spool/postfix/defer -type f | wc -l
 
* данные каталоги являются местом, где временно хранятся письма очереди.<br>
'''Перезапустить очередь'''
postsuper -r ALL
'''
Если не помогло, поочередно:'''
postfix stop
 
postsuper -r ALL


postfix start
'''решение:'''


'''Настройка очереди:'''<br>
cd /var/spool/exim/db
'''Задать периодичность повторной отправки сообщений:'''
rm -f retry retry.lockfile
  postconf -e "queue_run_delay = 5m"
  rm -f wait-remote_smtp wait-remote_smtp.lockfile
service exim restart


Задать время, на которое будет отложена отправка сообщений, которые не были отправлены по причине временных<br>
В дальнейшим имеет смысл: внести изменения в /etc/exim/exim.conf
неисправностей (например, принимающий сервер не отвечает или просит повторить запрос позже):
в раздел
postconf -e "minimal_backoff_time = 10m"


'''Задать максимальное время для отправки сообщений, которые не были отправлены по причине временных неисправностей:'''
begin retry
  postconf -e "maximal_backoff_time = 15m"
*                      rcpt_451    F,1h,15m
  *                      refused    F,1h,2m
*                      timeout_connect    F,2h,2m; F,6h,1h; F,4d,6h
*                      *          F,2h,2m; G,16h,1h,1.5; F,4d,6h


'''Выставить время жизни для сообщения в очереди:'''
также обратите внимание на запуск с какой опцией он стартует: -q5m
postconf -e "maximal_queue_lifetime = 1d"
* [https://www.linuxshop.ru/forum/f7/t31431--resheno-remote-smtp-defer-53-retry-time-not-reached-for-any-host-exchange-exim.html взято тут]


'''После внесения изменений необходимо перезапустить postfix''':
* Для решения проблемы с ssl в exim4.conf.template изменить:
  service postfix restart || systemctl restart postfix
  ...
REMOTE_SMTP_SMARTHOST_TLS_VERIFY_HOSTS = *


'''Информация о конкретном сообщении'''
на
  postcat -q <идентификатор>
  ...
REMOTE_SMTP_SMARTHOST_TLS_VERIFY_HOSTS = !*


* показывает параметры сообщения и причину, по которой письмо еще не отправлено.
* Если нужно жестко указать порт smtp, то:
...
dc_smarthost='mail.myhost.ru::25'
...


ИСТОЧНИКИ:
'''ИСТОЧНИКИ:'''
<hr>
<hr>
* [https://www.dmosk.ru/miniinstruktions.php?mini=postfix-queue Работа с очередью сообщений в Postfix]
* [https://qna.habr.com/q/146009 Exim и внешний SMTP сервер, как заставить ходить почту?]
* [https://linux-notes.org/udalit-ochistit-sbrosit-ochered-v-postfix/ Удалить/Очистить/Сбросить очередь в postfix]
* [https://1cloud.ru/help/linux/nastrojka-exim4 Настройка EXIM4 для отправки почтовых сообщений в Linux]
* [https://serverspace.by/support/help/nastroika-exim-4-na-ubuntu/ Ubuntu. Настройка Exim4]

Версия от 19:39, 20 июля 2022

Установка и настройка

Прежде всего обновите локальный список пакетов с помощью вашего пакетного менеджера, например на Ubuntu и Debian это можно сделать с помощью apt:

apt-get update

Для установки выполните команду:

apt-get install exim4

Примечание: если вам необходимо использовать ACL и другие расширенные функции, то установите exim4-daemon-heavy:

apt-get install exim4-daemon-heavy

Чтобы перейти к настройке, выполните команду:

dpkg-reconfigure exim4-config

Нажмите Ok для начала настройки. РЕШЕНИЕ ПРОБЛЕМ


  • defer (-53): retry time not reached for any host

Повреждены ваши exim db Это возможно связанно с недоступостью почтового сервера какой-то время.

решение:

cd /var/spool/exim/db
rm -f retry retry.lockfile
rm -f wait-remote_smtp wait-remote_smtp.lockfile
service exim restart

В дальнейшим имеет смысл: внести изменения в /etc/exim/exim.conf в раздел

begin retry
*                      rcpt_451    F,1h,15m
*                      refused     F,1h,2m
*                      timeout_connect    F,2h,2m; F,6h,1h; F,4d,6h
*                      *           F,2h,2m; G,16h,1h,1.5; F,4d,6h

также обратите внимание на запуск с какой опцией он стартует: -q5m

  • Для решения проблемы с ssl в exim4.conf.template изменить:
...
REMOTE_SMTP_SMARTHOST_TLS_VERIFY_HOSTS = *

на

...
REMOTE_SMTP_SMARTHOST_TLS_VERIFY_HOSTS = !*
  • Если нужно жестко указать порт smtp, то:
...
dc_smarthost='mail.myhost.ru::25'
...

ИСТОЧНИКИ: