Bagaimana cara saya menangguhkan pengiriman surat sementara ke domain tertentu (non-lokal) dengan Postfix?

13

Menggunakan Postfix dan custom transports saya dapat mengatur kecepatan pengiriman tergantung pada domain penerima. (Misalnya, saya mengirim maksimal satu pesan per detik ke *@hotmail.com)

Saya juga menggunakan aturan serupa untuk memblokir tujuan yang buruk (htmail.com segera diblokir, menghindari banyak loop dalam antrian).

Namun, saya ingin untuk sementara menangguhkan pengiriman surat ke tujuan selama 24 atau 48 jam (surat ke *@gmail.com ditangguhkan, semuanya dikirimkan). Pesan akan mengantri selama waktu ini, dan akan dikirim hanya ketika saya ingin dengan mengubah konfigurasi.

Adakah seseorang yang tau bagaimana cara melakukannya ?

Terima kasih

Julien Tartarin
sumber

Jawaban:

20

Letakkan pesan dalam status TAHAN

/etc/postfix/main.cf:

smtpd_recipient_restrictions = 
    ...
    check_recipient_access hash:/etc/postfix/hold

/ etc / postfix / hold:

gmail.com        HOLD
blah.com         HOLD

Pastikan Anda menjalankan postmap hash:/etc/postfix/holdsetiap kali Anda memperbarui file.

Jika Anda ingin melepaskan semua pesan yang ditahan, gunakan postsuper :

# postsuper -H ALL
Philip Reynolds
sumber
Sepertinya itu tidak berhasil sama sekali. Email segera dikirim. Mungkin karena saya mengirim email dari $ mynetworks? TOLAK dan DISCARD tidak bekerja baik, saya harus pergi dengan kesalahan transportasi ini:
Julien Tartarin
Ok, salah saya, surat yang dikirim secara lokal dengan mailx tidak dicentang karena tidak dikirim ke smtpd. Bekerja dengan sangat baik :)
Julien Tartarin
2

Anda dapat melakukan ini dengan peta transportasi :

gmail.com defer:

adaptr
sumber
0

Untuk menunda domain tertentu:

postqueue -p | awk 'BEGIN { RS = "" } { if ($7 == "[email protected]" ) print $1 }' | tr -d '!*' | postsuper -h -

Untuk merilis untuk domain tertentu:

postqueue -p | awk 'BEGIN { RS = "" } { if ($7 == "[email protected]" ) print $1 }' | tr -d '!*' | postsuper -H -
Salim Bennouri
sumber
Tidak, tidak. $ 7 akan cocok dengan alamat Pengirim Email pada baris yang sama dengan ID antrian. Alamat email penerima ada di baris berikutnya, dan perlu pencocokan domain, bukan pencocokan email.
Antti Rytsölä