Я не бачу жодної проблеми в користуванні set bouncemail
. Відповідно до сторінки керівництва:
set bouncemail Direct error mail to the sender (default)
set no bouncemail Direct error mail to the local postmaster
(as per the ’postmaster’ global option above).
З мого розуміння коментар "Avoid loss on 4xx errors."
може означати наступне:
Помилки, що починаються з числа, 4
є тимчасовими помилками. Помилки 4xx
не є фатальними помилками і означають "У мене зараз невелика проблема, і я не можу обробити ваше повідомлення. Спробуйте пізніше". Прикладом цієї помилки був би 451 Temporary lookup failure
. У цьому випадку сервер-відправник (якщо його правильно налаштовано на RFC) спробує знову надіслати повідомлення пізніше. Якщо до наступної спроби проблема на отриманні сервера буде вирішена - повідомлення буде доставлено. Якщо проблема не зникає - знову це дасть 451 Temporary lookup failure
. Цей сценарій триватиме до тих пір, поки не закінчиться повідомлення (що є окремим параметром для поштового сервера).
Тепер, як це можна застосувати до нашої ситуації. Скажімо, чийсь сервер не налаштований належним чином, і, таким чином, при отриманні 4xx
помилки він не спробує пізніше - він просто видалить повідомлення. І він надсилає вам електронну пошту, поки у вас є проблеми з тимчасовим пошуком. Тож ваш поштовий рефікс повертає 451
помилку. Сервер відправника отримує 451
помилку і зупиняє будь-які подальші спроби її доставки (що WRONG). У цей момент ви втратили лист електронної пошти, оскільки у вас виникли тимчасові проблеми ТА через неправильну конфігурацію іншого сервера.
Отже, fetchmail намагається уникнути проблеми, не відштовхуючись електронною поштою у разі 4xx
помилок. Оскільки воно вже завантажено, і воно вже є на вашому комп’ютері, має сенс просто зберігати повідомлення, а не надсилати його назад.
Просто ввімкніть set bouncemail
і не турбуйтеся ні про що, оскільки більшість поштових серверів мають належну конфігурацію (за RFC), і вони спробують доставити повідомлення ще раз. У вас буде 1–5% шансів втратити 1 електронну пошту через час від неправильно налаштованого поштового сервера.
На цьому:
При подальшому роздумі здається, що нерозумно завантажувати такі великі повідомлення, обробляти їх, а потім відскакувати. У fetchmail є можливість обмежити розмір повідомлень, які потрібно завантажити, але я не можу зрозуміти, як надіслати повідомлення відмов у цьому випадку (і повідомлення залишається на сервері). Чи є якийсь спосіб зробити трюк?
Fetchmail повинен завантажити повідомлення, якщо ви хочете, щоб поштовий індекс обробив його. Якщо fetchmail не завантажить повідомлення - постфікс ніколи його не побачить. Сумніваюся, fetchmail повідомить відправника про це. Якщо ви хочете повідомити про це відправника - вам потрібно мати fetchmail, щоб завантажити повідомлення та надіслати його на поштовий індекс.
Ще один можливий варіант - fetchmail завантажує повідомлення звідкись (IMAP / POP3). Якщо у вас є контроль над цим обліковим записом POP3 - встановіть там ліміт, і він також працюватиме.