Di mana email sendmail disimpan?

10

Saya mencoba membuat skrip autoresponder untuk sendmail (tidak, saya belum mau menggunakan yang sudah dibuat sebelumnya), tetapi sepertinya saya tidak dapat menemukan lokasi email yang diterima di server saya. Saya harus menentukan bahwa konfigurasi saya bukan yang default.

Saya sudah mencari /root, tidak ada folder email di sana. (Saya tidak punya pengguna selain root). Saya telah melihat ke dalam /var/mail/root, hanya ada beberapa log yang dikirimkan kepada saya melalui surat, tetapi bukan surat eksternal yang saya terima dari pengguna.

Saya sudah memeriksa /var/log/maillog, tetapi tidak ada kesalahan.

Saya kehabisan ide ke mana harus mencari. Adakah yang bisa membantu saya?

Eduard Luca
sumber

Jawaban:

6

sendmail (agen transportasi surat - MTA) menyimpan surat di tempat di mana ia dikonfigurasi untuk menyimpan surat. Tetapi MTA hanya menyimpan surat yang saat ini sedang antri - pengiriman surat ke lokasi yang dapat diakses oleh pengguna ditangani oleh agen pengiriman surat (MDA). Meskipun sendmail (dan MTA lainnya) dapat bertindak sebagai MDA, sangat tidak biasa untuk itu terjadi.

Bagaimanapun juga, mencoba mengakses file email bukanlah cara yang tepat untuk mengimplementasikan autoresponder.

Ini harus dilakukan sebagai filter dalam MTA (mis. Milter) atau dalam MDA. The ikan jantan API dirancang khusus untuk ini - dan ada mungkin sudah menjadi alat yang tersedia yang akan memenuhi kebutuhan Anda tanpa modifikasi.

Jika MDA Anda saat ini adalah procmail, maka Anda beruntung - ini memberikan sejumlah besar fleksibilitas (memang ini bahasa pemrogramannya sendiri) untuk menangani pesan email. Sekali lagi ada banyak kode di internet yang dapat memenuhi kebutuhan Anda (AFAIK tidak ada pusat penyimpanan resep procmail - tetapi coba google).

Bahkan mekanisme .forward dasar dapat digunakan untuk mengimplementasikan ini - tapi saya akan menyarankan untuk hal ini - melanjutkan rute procmail Anda dapat memotong pesan sehingga pengiriman tidak tergantung pada / diimplementasikan oleh skrip Anda.

symcbean
sumber
Saya memang sudah menginstal procmail (procmail-3.22-17.1.el5.centos.x86_64), tetapi saya tidak yakin ini digunakan. Saya juga membaca tentang skrip balasan otomatis yang menggunakan procmail, yang dapat berguna bagi saya. Bisakah saya melihat apakah procmail sedang digunakan?
Eduard Luca
1
Bisakah Anda memposting konten sendmail.cffile Anda di sekitar baris yang dimulai Mlocal, yang akan memberi tahu kami apa yang sedang digunakan MDA.
MadHatter
Ya, ini procmail. Yaay! P=/usr/bin/procmailadalah kodenya. Terima kasih :)
Eduard Luca
Tapi saya tidak punya procmailrcfile. Membuat saya bertanya-tanya apakah sendmail + procmail saya benar-benar digunakan.
Eduard Luca
Jika dikonfigurasikan dalam sendmail dan email Anda dikirim maka itu menggunakan procmail (dengan dikompilasi secara default). Lihat halaman manual untuk procmail - biasanya chacks untuk / etc / procmailrc dan ~ / .procmailrc dan jika tidak ada yang ditemukan maka ia mengirimkan email sesuai dengan konfigurasi pada waktu kompilasi.
symcbean
6

Jika Anda memiliki konfigurasi selain direktori default, Anda harus melihat /etc/mail/sendmail.cf Anda untuk melihat path apa yang ditetapkan.

Ini tidak hanya bervariasi antara distribusi OS, tetapi bahkan direktori default antara versi sendmail yang berbeda berubah. Singkatnya, hanya agar kami memberi tahu Anda defaultnya, kami perlu mengetahui versi OS DAN versi sendmail. Standarnya adalah / var / spool / mail / $ USERNAME untuk drop mail, maka jika pengguna membaca email dengan aplikasi lain biasanya dipindahkan ke $ HOME / mbox.

Berikut adalah daftar direktori surat umum:

  • / var / mail / $ USERNAME
  • / var / spool / mail / $ USERNAME
  • $ HOME / mbox
  • $ RUMAH / surat
  • $ HOME / Maildir
Paul
sumber
Terima kasih, tetapi di bawah nama variabel mana saya harus mencarinya di file konfigurasi? Saya telah membaca sesuatu tentang $MAIL = tetapi saya tidak dapat menemukannya di file konfigurasi. Saya telah memeriksa / var / spool / mail / root, ada beberapa surat di sana, tetapi bukan yang benar (dan saya yakin mereka belum dibaca, karena saya mengirim email dan dengan cepat memeriksa file - tidak ada).
Eduard Luca
3

Itu tergantung pada bagaimana itu dikonfigurasi, tetapi tempat yang biasa /var/spool/mail, atau beberapa distro /var/mail. Jika tidak ada di kedua tempat tersebut, beri tahu kami, dan kami akan mulai menggali !

MadHatter
sumber
Ada beberapa surat masuk /var/spool/mail/roottetapi hanya surat lokal (dikirim dari root ke root).
Eduard Luca
Apa lagi yang ada di /var/spool/maildalamnya?
MadHatter
File bernama rpcyang benar-benar kosong.
Eduard Luca