Postfix - як повторити доставку пошти в черзі?


94

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

Якщо я зачекаю кілька разів, доставка буде виконана автоматично, як тільки основний сервер повернеться, але це може бути довгим. Тож як змусити відправити повторну спробу всіх повідомлень?

Для прикладу: postqueue -p: дайте мені список електронних листів

Потім я спробував пост-чергу -f (зі сторінки man: Flush the queue: спроба доставити всю чергову пошту.). Це, безумовно, змило чергу, але пошти не доставляли ...


здається, -f є флеш і -q - черга (відправити чергу)
erm3nda

1
немає postqueue -q. Існує sendmail -qпідтримка синтаксису sendmail, щоб постфікс міг повністю замінити sendmail, але це синонім. Різні листи є jsut, оскільки постфікс вибирав інші, ніж sendmail.
Йоганнес Х.

Вибачте ще раз, прокоментуйте в той же день :) так що обидва помиляються.
erm3nda

Відповіді:


112

Згідно з postqueue (1), ви можете просто запустити, щоб очистити свою черговуpostqueue -f пошту. Якщо листи не доставляються після змивання черги, але натомість вони ставляться повторно, ви можете перевірити свої поштові журнали на наявність помилок.

Зазирнути на постсупер (1) також може бути корисним. Можливо, повідомлення перебувають на затриманні і їх потрібно випустити першими.


36

postqueue -fповинен працювати. Якщо цього немає, це має вагомі причини для цього. Перевірте журнали. Також pfqueue є дуже корисною командою для перевірки котушки пошти.


15

sendmail -q негайно повторює доставку всіх повідомлень у черзі.


Хіба це не те саме, що запускати допис -f?
Далібор Філус

2
@ NOICE це так. З Документів : -q Спроба доставити всю чергову пошту. Це реалізується шляхом виконання команди postqueue (1).
wabbit

Я цього не перевіряв, але, здається, -f flush і -q - черга. Один намагається надіслати потім інший просто очистити чергу. Краще спробувати доставити, я здогадуюсь.
erm3nda

1
@ erm3nda Ви повинні хоча б спочатку перевірити довірені сторінки. Зі postqueueсторінки чоловіка: "-f Очистіть чергу: намагайтеся доставити всю чергову пошту. Цей параметр реалізує традиційну команду" sendmail -q ", звернувшись до демона Postfix qmgr (8)." => вони синоніми і роблять точно так само. "
Йоганнес Х.

@JohannesH. Вибачте, ви маєте рацію, що я повинен її прочитати. Дякую за виправлення
erm3nda

4

postqueue -s domain.tldповинно призвести до того, що резервна реле-машина буде змивати всю електронну пошту для вашого сайту. Установка за замовчуванням для постфіксу дає змогу промивати на кожному сайті всі домени в relay_domains. postqueue -fце також зробить, але також виштовхне пошту для зовнішніх сайтів, тобто вона робить більше, ніж потрібно.

Як ви визначаєте, що пошта не була доставлена? Вони все ще знаходяться на резервному хості або їх відправляють до основного хоста, а потім губляться?

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.