fetchmail / postfix - pesan bouncing jika terlalu besar

1

Saya memiliki server email Ubuntu yang mengambil email dari ISP dengan fetchmail dan mengirimkannya melalui amavis dan postfix.

Postfix memiliki batas ukuran sekitar 20MB. Email yang lebih besar dari ini dihapus dari server, tetapi sejauh ini telah dihapus secara diam-diam, karena / etc / fetchmailrc tidak memiliki definisi untuk postmaster dan berisi "set no bouncemail".

Saya ingin memberi tahu pengirim tentang surat yang ditolak. Tetapi komentar untuk "set no bouncemail" ("Hindari kerugian pada kesalahan 4xx.") Membuat saya berpikir itu bisa berbahaya atau tidak bijaksana untuk mengubahnya menjadi "set bouncemail". Bagaimana seharusnya komentar ini dipahami?

Apakah ada cara untuk menyesuaikan pesan pentalan itu? Tampaknya berasal dari "Mail" dan berisi beberapa informasi lokal yang tampaknya tidak berguna bagi pengirim pesan yang terlalu besar.

Kalau dipikir-pikir, rasanya konyol untuk mengunduh pesan-pesan besar, memproses, dan kemudian memantulkannya. fetchmail memiliki opsi untuk membatasi ukuran pesan yang akan diunduh, tetapi saya tidak tahu cara mengirim pesan bouncing dalam kasus ini (dan pesan tetap di server). Apakah ada cara untuk melakukan triknya?

JeffRSon
sumber

Jawaban:

2

Saya tidak melihat masalah untuk menggunakan set bouncemail. Sesuai halaman manual:

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). 

Menurut pengertian saya, komentar "Avoid loss on 4xx errors."dapat berarti sebagai berikut:

Kesalahan yang dimulai pada angka 4adalah kesalahan sementara. Kesalahan 4xxbukan kesalahan fatal dan berarti "Saya memiliki masalah kecil saat ini dan tidak dapat memproses pesan Anda, Anda harus mencoba nanti". Contoh kesalahan ini adalah 451 Temporary lookup failure. Dalam hal ini server pengirim (jika dikonfigurasi dengan benar per RFC) akan mencoba mengirimkan pesan lagi nanti. Jika pada saat upaya upaya selanjutnya pada server penerima akan diselesaikan - pesan akan dikirimkan. Jika masalah tetap ada - maka itu akan memberi 451 Temporary lookup failure. Skenario ini akan berlanjut sampai pesan akan kedaluwarsa (yang merupakan pengaturan terpisah untuk server surat).

Sekarang, bagaimana ini dapat diterapkan pada situasi kita. Katakanlah server seseorang tidak dikonfigurasikan dengan benar dan karenanya saat menerima 4xxkesalahan tidak akan dicoba nanti - hanya akan menghapus pesan. Dan dia mengirimi Anda email saat Anda memiliki masalah pencarian sementara. Jadi postfix Anda mengembalikan 451kesalahan. Server pengirim menerima 451kesalahan dan menghentikan upaya lebih lanjut untuk mengirimkannya (yang SALAH). Pada titik ini Anda kehilangan surat email Anda karena Anda punya masalah sementara DAN karena konfigurasi yang salah dari server lain.

Jadi, fetchmail berusaha menghindari masalah dengan tidak memantulkan kembali email jika terjadi 4xxkesalahan. Karena sudah diunduh dan sudah ada di komputer, masuk akal untuk menyimpan pesan dan tidak mengirimnya kembali.

Cukup aktifkan set bouncemaildan jangan khawatir tentang apa pun, karena sebagian besar server email memiliki konfigurasi (per RFC) yang tepat dan mereka akan mencoba mengirim pesan lagi. Anda akan memiliki peluang 1-5% untuk kehilangan 1 email dalam beberapa saat dari server mail yang salah dikonfigurasi.

Hal ini:

Kalau dipikir-pikir, rasanya konyol untuk mengunduh pesan-pesan besar, memproses, dan kemudian memantulkannya. fetchmail memiliki opsi untuk membatasi ukuran pesan yang akan diunduh, tetapi saya tidak tahu cara mengirim pesan bouncing dalam kasus ini (dan pesan tetap di server). Apakah ada cara untuk melakukan triknya?

Fetchmail harus mengunduh pesan jika Anda ingin postfix memproses pesan. Jika fetchmail tidak akan mengunduh pesan - postfix tidak akan pernah melihatnya. Saya ragu fetchmail akan memberi tahu pengirim tentang hal itu. Jika Anda ingin memberi tahu pengirim tentang hal itu - Anda harus memiliki fetchmail untuk mengunduh pesan dan memberikannya kepada postfix.

Opsi lain yang mungkin - fetchmail mengunduh pesan dari suatu tempat (IMAP / POP3). Jika Anda memiliki kendali atas akun POP3 ini - tetapkan batas di sana dan itu akan berfungsi juga.

VL-80
sumber
Sangat membantu! Pada bagian kedua - Jelas bahwa Postfix tidak dapat memproses pesan jika Fetchmail tidak mengunduhnya. Tetapi IMO, jika pesannya terlalu besar, yang diketahui Fetchmail dengan jelas, Postfix tidak perlu dijalankan sama sekali. Fetchmail dapat memutuskan "Pesan terlalu besar - abaikan dan / atau hapus dan kirim pemberitahuan". - Sayangnya tidak ada pengaturan pada server untuk membatasi ukuran. Ini akan menjadi solusi terbaik.
JeffRSon