Pertanyaan Apa pesan "Anda memiliki surat baru" di Linux / UNIX?


Kadang-kadang, ketika saya login ke kotak dan 'su' untuk root, saya mendapatkan pesan kecil yang lucu yang mengatakan saya memiliki surat (terima kasih Tuhan itu bukan AOL).

  • Di mana surat ini?
  • Apa isinya?
  • Siapa / Apa yang mengirimnya?
  • Seberapa penting itu?

Apakah ini "surat" yang sebenarnya dalam arti yang sama dengan email? Atau hanya sistem saya yang mengatakan sesuatu kepada saya?

EDIT: Berhubungan dengan ini pertanyaan, apakah saya bisa mengirim sendiri surat menggunakan program sendmail seperti: email@localhost?


371
2017-07-04 15:23


asal


Saya memiliki satu pesan ini di sana yang mengatakan "Teks ini adalah bagian dari format internal folder surat Anda, ..." jadi tentu saja setiap kali saya masuk saya diberitahu bahwa saya memiliki surat. - GEdgar
@GEdgar: Ini biasanya berarti Anda harus berhenti menggunakannya mbox kotak surat dan bermigrasi ke Maildir :) - grawity
Terkait: superuser.com/questions/149282/… - dmckee
Cara meneruskan surat: unix.stackexchange.com/questions/26666/… - Melebius
Jika ada yang melihat, di sini adalah powerhshell satu-liner untuk membagi yang menjadi satu file yang dapat dibaca oleh pandangan: $i=0;(gc .\mail\root -raw) -split '[^, ]From '|%{$i++;sc mail$i.eml -value ("From " + $_)} - JDuarteDJ


Jawaban:


Di mana surat ini?

Kemungkinan ada di file spul: /var/mail/$USER atau /var/spool/mail/$USER adalah lokasi paling umum di Linux dan BSD.

(Lokasi lain dimungkinkan - periksa apakah $MAIL diatur - tetapi secara default, sistem hanya memberi tahu Anda /var(/spool)/mail.)

Biasanya file spul itu sangat sederhana mbox format, sehingga Anda dapat membukanya dalam editor teks atau pager.

Untuk cara yang sedikit lebih nyaman, sebagian besar distribusi datang dengan program yang disebut mail (atau Mail, mailx). Anda dapat mencoba mutt atau alpine; Anda bahkan dapat mengkonfigurasinya untuk dikirim ke kotak surat luar. (Lihat "apakah ini surat yang sebenarnya?" Di bawah.)

Apa isinya, dan siapa / apa yang mengirimnya?

Paling sering pesan berisi output dari cron jobs, atau laporan keamanan sistem oleh logwatch, atau sampah serupa. Baca dan temukan.

Seberapa penting itu?

Sangat tergantung pada isi setiap pesan.

Kamu harus setidaknya memindai header subjek - sering kali mengabaikan email selama berbulan-bulan tidak pernah menyadari bahwa tugas cron harian mereka gagal.

Apakah ini "surat" yang sebenarnya dalam arti yang sama dengan email? Atau hanya sistem saya yang mengatakan sesuatu kepada saya?

Ya untuk keduanya - ini dihasilkan oleh sistem Anda yang memberi tahu Anda sesuatu, tetapi juga email yang sebenarnya dan dapat ditangani seperti itu.

Anda dapat (dan seharusnya) mengkonfigurasi perangkat lunak email Anda - "MTA" alias /usr/sbin/sendmail - untuk meneruskan pesan ke alamat email pribadi Anda. Petunjuk yang tepat bervariasi tergantung pada MTA mana (jika ada) yang Anda pasang, apakah ini komputer pribadi atau server, apakah Anda memiliki domain sendiri atau menggunakan @ gmail.com, dan seterusnya.

Perhatikan itu /usr/sbin/sendmail saat ini adalah API bersama dan tidak tentu berarti MTA Sendmail asli. Bahkan, kamu seharusnya tidak menggunakan Sendmail, tetapi sesuatu yang lebih modern seperti OpenSMTPD, Postfix, atau Exim4. Semuanya memberikan hal yang sama /usr/sbin/sendmail alat, tetapi mereka lebih mudah dikonfigurasi, lebih aman, dan sama kuatnya.


308
2017-07-04 16:30



Jawaban yang bagus. Jika Anda menambahkan tautan dengan informasi tentang cara mengonfigurasi OpenSMTPD, Postfix atau Exim4 untuk meneruskan email ke alamat email normal Anda, itu akan lebih baik. - imolit
Berikut pertanyaan terkait yang menunjukkan cara menyiapkan anjing kampung: askubuntu.com/a/499335/75735 - KalenGi
Jawaban yang bagus. Tapi bagaimana cara saya menggunakannya mail membaca email? Itu manpage tidak mengatakan. - jpaugh
Saya melihat email saya dengan perintah cat / var / mail / $ USER dan menghapusnya dengan perintah rm -rf / var / mail / $ USER. - Sinan Eldem
@grawity haruskah saya menghapus file dalam /var/mail/ ketika saya membacanya atau hanya menghapus teks di dalamnya? Terima kasih! - yaylitzis


Cara termudah bagi saya adalah menjalankan yang berikut di terminal:

cat /var/spool/mail/root

178
2017-11-25 11:46



Jawaban praktis terbaik sejauh ini yang benar-benar menambah pengetahuan. Sekarang saya bisa membaca surat. Saya bertanya-tanya mengapa itu jawaban paling bawah. - CDR
Saya menyadari ini adalah pertanyaan / jawaban yang cukup tua, tetapi XKCD ini relevan dengan diskusi. (petunjuk: hover text) - Blackhawk
Atau hanya less $MAIL jika Anda ingin menavigasi. - Walf
Atau less +G $MAIL untuk memulai di akhir. - Charlie Gorichanaz
@Blackhawk Dan sekarang bahkan lebih XKCD ini. - dessert


Hanya untuk menawarkan beberapa klarifikasi, sudah menjadi tradisi untuk waktu yang lama bagi kotak UNIX untuk menjalankan daemon mailer "dikonfigurasi secara lokal" yang tidak merutekan pesan melalui Internet, tetapi hanya menyalin pesan ke direktori spool pengguna lain (seperti @John T tersebut). Ini adalah email SMTP-compliant nyata, itu hanya tidak diarahkan melalui Internet karena tidak perlu.

Jadi, jika Anda menjalankan klien email (seperti alpine atau mutt) Anda dapat mengirim email ke pengguna lain di sistem dengan alamat ke user@hostname, atau dalam banyak kasus, hanya menentukan pengguna. Anda juga mungkin memiliki utilitas baris perintah yang disebut mailx yang dapat digunakan untuk mengirim email cepat menggunakan shell Anda.

Sekarang, jika Anda ingin mengirim pesan ke pengguna di sistem selain yang Anda masuki, di situlah kesenangan sesungguhnya dimulai. Anda harus mengkonfigurasi daemon mailer Anda untuk mengenali dan menyerahkan email eksternal ke agen transfer, mengkonfigurasi agen transfer, dan melakukan banyak hal yang belum saya pahami sendiri.


36
2017-07-04 16:31





Bagi siapa saja yang bertanya-tanya bagaimana cara membaca pesan-pesan ini satu demi satu, Anda bisa menggunakan 'surat'

$ mail

Kemudian ketikkan nomor pesan dari daftar yang ingin Anda baca.

Untuk membuka pesan berikutnya, Anda dapat mengetik 'next', perintah lain yang berguna adalah 'delete' ..

Untuk mengetahui lebih lanjut tentang bagaimana mail program berfungsi, lihat output dari man mail.


36
2017-08-30 19:47



//, Ini sebenarnya tidak berhasil, di CEntOS 6. Dalam hal ini, yang harus digunakan $ mailx. - Nathan Basanese
Pada Ubuntu 16.04, saya harus menginstal terlebih dahulu mailutils dengan berlari apt install mailutils - Edwin Yip
Pada contoh Amazon EC2, Anda dapat menginstalnya menggunakan sudo yum install mail - JonDoe297
Bekerja untuk saya di macOS - juanmirocks


Di mana surat ini?

Kemungkinan besar disimpan di komputer Anda, di folder kotak pesan untuk pengguna root Anda (di mana THAT tergantung pada jenis server email yang Anda instal). Anda mungkin dapat mengaksesnya dengan cukup cepat alpine.

Apa isinya?

Mungkin hanya beberapa jenis laporan sistem. "Jadi dan mencoba masuk 10 kali dengan kata sandi yang salah" .. "Saya berharap seseorang akan menjalankan pembaruan pada saya", "driver  ini-dan-itu gagal terus-menerus "," Bot NSA telah meningkatkan kinerja sebesar 1% ".. dll ..

Siapa / Apa yang mengirimnya?

Layanan di server Anda, kemungkinan besar.

Seberapa penting itu?

Bergantung pada seberapa penting server Anda.


23
2017-07-04 15:29



Saya pikir saran John yang disimpan di / var / spool / mail / root didasarkan pada asumsi (baik) bahwa Anda menjalankan sendmail. Saya pikir server email lain menggunakan lokasi berbeda untuk menyimpan email. - James T Snell
Apakah ada cara bagi pengguna untuk menggunakan subsistem mail? - n0pe
White Phoenix: Saya akan melihat ketika surat saya adalah ketika saya mendapatkan pesan lagi :) Apakah ada cara bagi saya untuk memicu atau apakah itu terlalu melokalisir pertanyaan? - n0pe
Jika Anda ingin menjelajahi menjalankan server email Anda sendiri (yang orang gunakan dalam arti email yang khas), pertama kali akan membantu untuk mengetahui apa distro yang Anda jalankan? Tanpa info itu, semua yang saya akan katakan, adalah bahwa saya menyarankan Anda membaca di sendmail (karena Anda mungkin sudah menjalankan sendmail) .. - James T Snell
Kebanyakan dari mereka menjalankan AIX tetapi saya ingin menjelajahi ini di workstation saya di rumah yang menjalankan OpenSuSe - n0pe


Email ini biasanya berlokasi di /var/spool/mail/root ketika daemon sendmail default (biasa) dikonfigurasi. Ini berisi pesan e-mail RAW yang dapat dibaca oleh mail utilitas. Siapa yang mengirimnya dapat ditemukan dengan menjalankan mail utilitas dan paging melalui pesan atau membaca header RAW.

Pentingnya pesan biasanya tergantung pada faktor sebelumnya, yang mengirimnya :)

Banyak utilitas sistem akan menggunakan subsistem mail sebagai sarana pelaporan dan pencatatan. Log watcher utilities dan layanan lainnya dapat mengirim e-mail ke pengguna root lokal sebagai pengingat tentang peristiwa tertentu, seperti ruang disk rendah atau kesalahan perangkat keras. Daemon mailer juga akan memperingatkan Anda jika gagal mengirim e-mail keluar.


13
2017-07-04 15:28



Apakah ada cara untuk melihat bagaimana subsistem mail saya diatur? - n0pe
@Max sendmail.mc file mengontrol konfigurasi daemon sendmail pada sebagian besar penginstalan default. Biasanya terletak di bawah /etc/mail. - John T
@ Max Saya akan sangat menyarankan membaca melalui tutorial seperti linuxhomenetworking.com/wiki/index.php/… untuk membantu Anda mengkonfigurasi daemon mailer seperti yang diinginkan. - John T
Di ubuntu 16.4., Saya punya /etc/mail.rc yang tidak berhubungan dengan sendmail - Timo


less +G /var/spool/mail/root

menunjukkan surat terbaru, pada akhirnya jika file tersebut.

Langsung menunjukkan file surat adalah ide yang bagus, tetapi menggunakan cat dapat dengan mudah salah. Anda tidak ingin semua surat digulir oleh, jika ada banyak pesan, atau pesan yang sangat panjang dalam file. Saya hanya melihat satu dengan 150MB, dua juta baris.

Jika Anda bukan root:

sudo less +G /var/spool/mail/root

Itu +G opsi digunakan untuk menampilkan pesan terbaru terlebih dahulu; Ini bukan di bagian atas file, tetapi pada akhirnya.

Ini adalah pilihan less, membuatnya menampilkan halaman terakhir file setelah dimulai. Itu menunjukkan pesan terakhir (terbaru), jika cocok untuk satu halaman, atau akhir dari yang lain.

Nama file mungkin /var/spool/mail/mail dari pada /var/spool/mail/root


10
2017-09-03 00:16



//, Kerusakan luar biasa. Jawaban ini akan sangat berguna bagi orang-orang yang tidak mudah tahu apa yang harus dilakukan dengan file tersebut. - Nathan Basanese
Jika ada yang bertanya-tanya, +G "menyebabkan kurang untuk awalnya menampilkan setiap file mulai dari pada akhir daripada awal." (linux.die.net/man/1/less) - Sam
@Sam Terima kasih, lebih halus lagi. - Volker Siegel