Saya mencoba ini r yang menjawab masalah ini. Tetapi pesan tampaknya tidak mudah dimodifikasi dalam versi yang saya miliki (2.11.0).
Misalnya tidak ada dir / var / spool / mqueue, tetapi, sebaliknya, / var / spool / postfix / ...
Saya ingin mengklarifikasi dua hal.
- Pertama, jawaban itu diterapkan pada sendmail TIDAK postfix.
- Kedua, manipulasi langsung-raw-queue-file tidak didukung sama sekali.
Jadi, Anda memiliki beberapa opsi di sini
1. parameter smtp_generic_maps
Jawaban ini terinspirasi oleh jawaban yang luar biasa ini . Itu akan menulis ulang alamat lama ke alamat baru secara otomatis. Anda dapat menentukan file ke peta alamat lama ke alamat baru.
/etc/postfix/main.cf:
smtp_generic_maps = hash:/etc/postfix/generic
/etc/postfix/generic:
account@localdomain.example.com account@example.com
Jangan lupa untuk postmap /etc/postfix/generic
berlaripostfix reload
- Terbalik: Anda tidak perlu mengirim pesan lagi
- Kelemahan: Postfix akan menulis ulang alamat pengirim dan penerima yang cocok
account@localdomain.example.com
.
2. sender_canonical_address
Untuk mengatasi kelemahan dari opsi pertama, Anda bisa menggunakan sender_canonical_maps
. Solusi ini berdasarkan saran penulis Postfix . Sama seperti opsi pertama, Anda dapat menentukan file ke peta alamat lama ke alamat baru.
/etc/postfix/main.cf:
sender_canonical_maps = hash:/etc/postfix/sender_canonical
/etc/postfix/sender_canonical:
account@localdomain.example.com account@example.com
Jalankan postmap /etc/postfix/sender_canonical
kemudian jalankan postfix reload
. Karena aliran antrian postfix, Anda harus kembali mengantri antrian yang terkena dampak dengan perintahpostsuper -r queueid
- Terbalik: Postfix tidak menulis ulang alamat penerima.
- Kelemahan: Anda harus membagikan semua pesan yang terpengaruh. Tetapi Anda dapat meminta semua ditangguhkan dengan perintah tunggal
postsuper -r ALL deferred
3. memanipulasi langsung antrian postfix
Ini adalah cara lama manual untuk memodifikasi antrian untuk pemrosesan lebih lanjut. Jawaban ini datang dari milis pengguna postfix
Pendeknya
Ekstrak antrian
# postsuper -h queueid
# postcat -qbh queueid > tempfile.eml
# vi tempfile.eml
Kirim ulang antrian dan hapus antrian lama
# sendmail -f $sender $recipient < tempfile.eml
# postsuper -d queueid
Untuk dokumentasi perintah di atas, lihat halaman ini
Catatan:
Solusi asli dari milis postfix-pengguna , gunakan postcat -q queueid >tempfile
untuk mengekstrak antrian. Perintah ini akan mengekstrak tajuk, badan, dan meta-informasi antrian. Seperti yang ditunjukkan Azendale di bawah ini , sendmail
akan menolak untuk mengirim email yang cacat ini karena meta-informasi.
Menggunakan -bh
parameter selain q
parameter akan membuat filter postcat output ke header dan tubuh saja, tidak termasuk meta-informasi. Manfaat sampingan dari hal ini adalah tempfile adalah dalam format yang paling dikenal oleh klien email sebagai format .eml, memungkinkan Anda untuk melihat pesan yang dihasilkan (diedit).
postcat -qbh queueid >tempfile
. (Keuntungan sampingan: dalam format .eml.) Jika saya hanya menggunakannya-q
, sepertinya tidak melakukan apa-apa ketika saya menjalankan sendmail. Versi postfix 2.8.4. Adakah yang bisa mengkonfirmasi ini? Jika demikian, mari kita edit jawaban ini.