Postfix - bagaimana mencoba lagi pengiriman surat dalam antrian?

95

Saya memiliki server email cadangan jika ada kegagalan pada yang utama. Dalam hal kegagalan, surat datang di server cadangan dan tetap di sana sampai yang utama kembali.

Jika saya menunggu beberapa kali, pengiriman akan dilakukan secara otomatis segera setelah server utama kembali tetapi bisa lama. Jadi bagaimana cara memaksa pengiriman ulang semua email?

Sebagai contoh: postqueue -p: beri saya daftar surat

Saya kemudian mencoba postqueue -f (dari halaman manual: Siram antrian: upaya untuk mengirimkan semua email yang antri.). Pasti memunculkan antrian, tetapi surat tidak terkirim ...

Nicolas
sumber
tampaknya -f flush dan -q adalah antrian (kirim antrian)
erm3nda
1
tidak ada postqueue -q. Ada yang sendmail -qmendukung sintaks sendmail sehingga postfix dapat sepenuhnya menggantikan sendmail, tapi itu sinonim. Huruf yang berbeda adalah hanya karena postfix memilih yang berbeda daripada sendmail.
Johannes H.
Maaf lagi, komentari di hari yang sama :) jadi keduanya salah.
erm3nda

Jawaban:

113

Menurut postqueue (1) Anda cukup menjalankan postqueue -funtuk membilas antrian email Anda. Jika surel tidak terkirim setelah pembilasan antrian tetapi sedang diminta kembali, Anda mungkin ingin memeriksa kesalahan surel.

Mengintip postuper (1) mungkin juga bisa membantu. Mungkin pesannya ditahan dan harus dirilis terlebih dahulu.

Joseph
sumber
36

postqueue -fharus bekerja. Jika tidak, itu punya alasan bagus untuk itu. Periksa log. Juga pfqueue adalah perintah yang sangat berguna untuk memeriksa spool mail.

Janne Pikkarainen
sumber
16

sendmail -q segera mencoba kembali pengiriman semua email dalam antrian.

the-wabbit
sumber
Bukankah ini sama dengan menjalankan postqueue -f?
Dalibor Filus
2
@ NICE itu. Dari dokumen : -q Berusaha mengirimkan semua surat antri. Ini diimplementasikan dengan mengeksekusi perintah postqueue (1).
the-wabbit
Saya tidak memeriksa untuk itu, tetapi tampaknya -f flush dan -q adalah antrian. Yang satu mencoba mengirim kemudian yang lain hanya membersihkan antrian. Lebih baik mencoba memberikan kurasa.
erm3nda
1
@ erm3nda Anda setidaknya harus memeriksa halaman manual terlebih dahulu. Dari postqueuehalaman manual: "-f Siram antrian: usahakan untuk mengirim semua surat antrian. Opsi ini mengimplementasikan perintah" sendmail -q "tradisional, dengan menghubungi daemon Postfix qmgr (8)." => mereka sinonim dan melakukan hal yang persis sama. "
Johannes H.
@JohannesH. Doh ... maaf, Anda benar tentang saya harus membacanya. Terima kasih atas koreksinya.
erm3nda
4

postqueue -s domain.tldseharusnya menyebabkan mesin relay cadangan mem-flush semua email untuk situs Anda. Pengaturan default untuk postfix memungkinkan pembilasan per-situs untuk semua domain di relay_domains. postqueue -fakan melakukan ini juga, tetapi juga akan mendorong keluar email untuk situs eksternal, yaitu tidak lebih dari yang Anda butuhkan.

Bagaimana Anda menentukan bahwa surat belum terkirim? Apakah mereka masih di host cadangan atau apakah mereka telah dikirim ke host utama dan kemudian hilang?

araqnid
sumber