Linux / UNIX’te “Yeni postanız var” mesajı nedir?


426

Bazen, bir kutuya girdiğimde ve 'su' yazdığımda, küçük bir mesajım var, mailim var (şükürler olsun ki AOL değil).

  • Bu posta nerde?
  • Ne içeriyor?
  • Kim / Ne gönderdi?
  • Bu ne kadar önemli?

Bu gerçek bir "posta" bile e-posta ile aynı anlamda mı? Yoksa sadece sistemim bana bir şey mi söylüyor?

DÜZENLEME: ilgili olarak bu : Söz, kendimi şöyle sendmail programı kullanarak mail göndermek mümkün olacaktır email@localhost?


İçinde "Bu metin posta klasörünüzün iç biçiminin bir parçası ..." yazan bir mesajım var. Tabii ki giriş yaptığımda elbette postalarım olduğu bildiriliyor.
GEdgar

1
@GEdgar: Bu genellikle kullanmayı bırakması gerektiği anlamına Mbox posta kutularını ve göç Maildir'e :)
grawity



1
Herhangi birinin bakması durumunda, işte bu, bakış açısıyla okunabilir tekli dosyalara bölünmesi için tek $i=0;(gc .\mail\root -raw) -split '[^, ]From '|%{$i++;sc mail$i.eml -value ("From " + $_)}
kaplamalı bir güç

Yanıtlar:


354

Bu posta nerde?

Biriktirme dosyasında olması muhtemeldir: /var/mail/$USERveya /var/spool/mail/$USERLinux ve BSD'deki en yaygın konumlardır.

(Diğer konumlar mümkündür - $MAILayarlanmış olup olmadığını kontrol edin - ancak varsayılan olarak sistem yalnızca sizi bilgilendirir /var(/spool)/mail.)

Genellikle biriktirme dosyası çok basit bir mbox biçimindedir, bu nedenle bir metin düzenleyicide veya çağrı cihazında açabilirsiniz.

Biraz daha uygun bir yol için, çoğu dağıtım mail(veya Mail, mailx) adı verilen bir programla gelir . Deneyebilirsiniz muttveya alpine; Dışarıdan bir posta kutusuna gönderilecek şekilde bile yapılandırabilirsiniz. (Aşağıdaki "Bu gerçek posta mı?" Konusuna bakın.)

Neyi içeriyor ve kim / ne gönderdi?

Mesajlar çoğunlukla cron işlerinin çıktısını veya logwatch veya benzeri önemsiz bir sistem güvenlik raporunu içerir . Oku ve öğren.

Bu ne kadar önemli?

Her mesajın içeriğine büyük ölçüde bağlıdır.

Sen olmalıdır en azından konu başlıklarını tarama - genellikle insanlar asla onların günlük cron işleri başarısız olduğunu fark aylarca postayı görmezden.

Bu gerçek bir "posta" bile e-posta ile aynı anlamda mı? Yoksa sadece sistemim bana bir şey mi söylüyor?

Her ikisine de evet - sisteminiz tarafından size bir şey söyler, ancak aynı zamanda gerçek bir e-postadır ve bu şekilde kullanılabilir.

/usr/sbin/sendmailİletileri kişisel posta adresinize iletmek için posta yazılımınızı ("MTA" aka - yapılandırabilirsiniz) . Talimatlar, hangi MTA (varsa) yüklü olduğuna, bunun kişisel bir bilgisayar veya sunucu olmasına, kendi etki alanınızın olup olmadığına veya bir @ gmail.com kullanmanıza vb. Bağlı olarak değişir .

Not /usr/sbin/sendmailbugünlerde ortak API ve yok ille orijinal Sendmail MTA anlamına gelir. Aslında, sen olmamalı Sendmail'i ama OpenSMTPD, Postfix veya Exim4 gibi daha modern bir şey kullanın. Hepsi aynı /usr/sbin/sendmailaracı sağlıyor, ancak yapılandırılması daha kolay, daha güvenli ve aynı derecede güçlü.


3
İyi cevap. OpenSMTPD, Postfix veya Exim4'ü postaları normal e-posta adresinize iletecek şekilde nasıl yapılandıracağınıza dair bilgiler eklediniz mi?
imolit

1
İşte nasıl kurulum gösterir ilgili bir soru mutt : askubuntu.com/a/499335/75735
KalenGi

Mükemmel cevap. Fakat maile-postayı okumak için nasıl kullanabilirim ? Manpage söylemiyor.
jpaugh

1
Postalarımı cat / var / mail / $ USER komutuyla izledim ve rm -rf / var / mail / $ USER komutuyla kaldırdım.
Sinan Eldem

@grawity okuduğumda içindeki dosyaları silmeli miyim, /var/mail/yoksa içindeki metni silmem mi gerekiyor? teşekkür ederim!
yaylitz,

206

Benim için en kolay yol aşağıdakileri bir terminalde çalıştırmaktı:

cat /var/spool/mail/root

5
Şimdiye kadarki en iyi pratik cevap aslında bilgiye ekliyor. Şimdi postaları okuyabilirim. Neden en cevap bu olduğunu merak ediyorum.
CDR

37
Bunun oldukça eski bir soru / cevap olduğunu biliyorum , ancak bu XKCD tartışmayla ilgili. (ipucu: vurgulu metin)
Blackhawk

11
Ya da sadece less $MAILgezinmek istiyorsanız.
Walf,

7
Veya less +G $MAILsonunda başlamak için.
Charlie Gorichanaz

4
@ Blacklackk Ve şimdi daha da bu XKCD .
tatlılar

56

Bu mesajları tek tek okumayı merak eden herkes için, sadece 'posta' kullanabilirsiniz

$ mail

Ardından, okumak istediğiniz listeden bir mesaj numarası yazın.

Bir sonraki mesaja geçmek için 'next' yazabilirsiniz, başka bir yararlı komut 'delete' ..

mailProgramın nasıl çalıştığı hakkında daha fazla bilgi için, çıktısına bakın man mail.


3
//, Bu aslında CEntOS 6'da çalışmıyor. Bu durumda, birinin kullanılması gerekir $ mailx.
Nathan Basanese

6
Ubuntu 16.04'te, ilk önce mailutilsçalıştırarak yüklemem gerekiyorapt install mailutils
Edwin Yip

Amazon EC2 örneklerinde, bunu kullanarak kurabilirsinizsudo yum install mail
JonDoe297


39

Sadece bir açıklama yapmak için, uzun süredir UNIX kutularının İnternet üzerinden mesajları yönlendirmeyen "yerel olarak yapılandırılmış" bir posta sunucusu kullanması, ancak mesajları yalnızca diğer kullanıcıların biriktirme dizinlerine kopyalaması (@John T gibi) söz). SMTP uyumlu gerçek bir e-posta, İnternet üzerinden yönlendirilmiyor, çünkü olması gerekmiyor.

Bu nedenle, bir e-posta istemcisini ( alpineveya gibi mutt) ateşlerseniz, sistemdeki diğer kullanıcılara user@hostnameyalnızca kullanıcıyı belirterek veya birçok durumda posta gönderebilirsiniz . Ayrıca mailx, kabuğunuzu kullanarak hızlı bir e-posta göndermek için kullanılabilecek bir komut satırı yardımcı programı da kullanabilirsiniz.

Şimdi, kullanıcılara oturum açtığınız sistemler dışındaki sistemlerdeki kullanıcılara mesaj göndermek istiyorsanız, gerçek eğlencenin başladığı yer burasıdır. Dış e-postayı bir aktarma aracısına tanımak ve dağıtmak, aktarma aracısını yapılandırmak ve henüz kendimi anlamadığım bir sürü şey yapmak için posta sunucunuzu yapılandırmanız gerekir.


24

Bu posta nerde?

Makinenizde, kök kullanıcınızın posta kutusu klasöründe (büyük olasılıkla hangi posta sunucusunun yüklü olduğuna bağlıdır) makinenizde saklanması çok muhtemeldir. Alpine üzerinden oldukça hızlı bir şekilde erişebilirsiniz .

Ne içeriyor?

Muhtemelen sadece bazı sistem rapor tipi şeyler. "Öyleyse hatalı bir parola ile 10 kez giriş yapmayı denedi" .. "Keşke biri benim üzerimde güncellemeler yayınlasaydı", "Sürücü böyle devam ediyor", "NSA botu performansı% 1 artırdı" .. vb..

Kim / Ne gönderdi?

Büyük olasılıkla sunucunuzdaki hizmetler.

Bu ne kadar önemli?

Sunucunuzun ne kadar önemli olduğuna bağlı olarak değişir.


John'un / var / spool / mail / root dizininde saklandığı yönündeki önerisinin sendmail kullandığın (iyi) bir varsayıma dayandığını düşünüyorum. Diğer posta sunucularının posta depolamak için farklı konumlar kullandığını düşünüyorum.
James T Snell

Kullanıcıların posta alt sistemini kullanmalarının bir yolu var mı?
n0pe

Beyaz Anka kuşu: Mesajı tekrar aldığımda postamın ne zaman olduğuna bakacağım :) Bunu tetiklememin bir yolu var mı yoksa bir sorunun yerelleştirilmesi mi var?
n0pe

Kendi posta sunucunuzu çalıştırmayı keşfetmek istiyorsanız (kişilerin tipik bir e-posta anlamında kullandığı), ilk önce hangi dağıtımı yaptığınızı bilmek yardımcı olur mu? Bu bilgi olmadan tek söyleyeceğim, sendmail’i (muhtemelen zaten sendmail’i çalıştırıyorsun) okumanızı öneririm ..
James T Snell

Birçoğu AIX kullanıyor, ancak bunu evdeki iş istasyonumda keşfetmek istiyorum OpenSuSe
n0pe

14

Bu posta genellikle /var/spool/mail/root(normal) varsayılan sendmail arka plan programı yapılandırıldığında bulunur. mailYardımcı program tarafından okunabilecek bir RAW e-posta mesajı içeriyor . Gönderen, mailyardımcı programı çalıştırarak ve mesajlarla sayfa arayarak veya RAW başlıklarını okuyarak bulunabilir.

Mesajın önemi genellikle onu yollayan önceki faktöre bağlıdır :)

Birçok sistem yardımcı programı, posta alt sistemini raporlama ve günlüğe kaydetme aracı olarak kullanır. Günlük izleme yardımcı programları ve diğer hizmetler, yerel kök kullanıcıya, düşük disk alanı veya donanım hataları gibi belirli bir olay hakkında bir hatırlatıcı olarak bir e-posta gönderebilir. Mailer cini, giden bir e-posta gönderilemediğinde sizi uyaracaktır.


Posta alt sistemimin nasıl kurulduğunu görmenin bir yolu var mı?
n0pe,

@Max sendmail.mcdosyası çoğu varsayılan kurulumda sendmail arka plan yapılandırmasını kontrol eder. Tipik olarak altında bulunur /etc/mail.
John T,

@Max Posta servisini istediğiniz gibi yapılandırmanıza yardımcı olmak için linuxhomenetworking.com/wiki/index.php/… gibi bir ders kitabı okumanızı şiddetle tavsiye ederim .
John T,

Ubuntu 16.4'te /etc/mail.rc, bunlarla ilgili değilimsendmail
Timo

12

less +G /var/spool/mail/root

Son e-postaları gösterir, eğer sonunda dosya.

Posta dosyasının doğrudan gösterilmesi iyi bir fikirdir, ancak kullanımı catkolayca yanlış gidebilir. Dosyada çok sayıda mesaj varsa veya çok uzun mesaj varsa, tüm postaların görünmesini istemezsiniz . 150 MB, iki milyon hattan birini gördüm.

Kök değilseniz:

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

Bu +Gseçenek ilk önce en yeni mesajı göstermek için kullanılır; Dosyanın üstünde değil, sonunda.

Bu bir seçenek, lessbaşlattıktan sonra dosyanın son sayfasını göstermesini sağlamak. Bir sayfaya uyuyorsa son mesajı (en yenisi) veya aksi takdirde bunun sonunu gösterir.

Dosya adı /var/spool/mail/mailyerine olabilir ./var/spool/mail/root


//, Mükemmel arıza. Bu cevap, dosya ile ne yapması gerektiğini kolayca bilmeyenler için özellikle yararlı olacaktır.
Nathan Basanese

4
Başkasının merak +Getmesi durumunda, "başlangıçta değil, başında başlayan her dosyayı başlangıçta görüntülemek daha az neden olur." ( linux.die.net/man/1/less )
Sam
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.