Я не бачу жодної проблеми в користуванні 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 - встановіть там ліміт, і він також працюватиме.