Jak mogę znaleźć moją lokalną szpulę poczty?

18

Jestem studentem i względnym nowicjuszem na Linuksie. To pytanie jest swego rodzaju pochodną mojego wcześniejszego pytania . Moja instytucja ma klaster Linux Ubuntu. Jestem tylko użytkownikiem; Nie mam uprawnień sysadmin i na pewno nie mam specjalistycznej wiedzy, aby zostać sysadminem!

Moje pytanie brzmi: jak znaleźć moją lokalną szpulę poczty? O ile mi wiadomo, nie używam agenta do przesyłania poczty. Odpowiedzi na moje poprzednie pytanie sugerowały, że szukam pliku /var/spool/mail/$USER, ale niestety nie widzę pliku odpowiadającego mojej nazwie użytkownika. W /var/spool/mail/, przy użyciu lswidzę tylko dwa pliki: nobodyi www-data, które są plikami bez rozszerzeń.

Czy masz jakieś inne pomysły na to, gdzie mogę wyszukać moją kolejkę poczty (która jest prawdopodobnie lokalna, ponieważ, o ile wiem, nie mam skonfigurowanego agenta przesyłania poczty)?

Andrzej
źródło
3
spróbujecho $MAIL
squareborg
1
Czy wysłałeś e-mail do siebie? Pliki skrzynki pocztowej są zwykle tworzone „w razie potrzeby”.
AnFi
@Shutupsquare To interesujące. Kiedy piszę echo $MAIL, zwraca /var/mail/myusername, gdzie myusernamejest moja nazwa użytkownika. Ale kiedy nawiguję do /var/mail/, plik myusernametam nie istnieje.
Andrew
@ AndrzejA.Filip Oprócz atwysyłania wiadomości lokalnej, gdy zaplanowany proces generuje dane wyjściowe, jak mogę spróbować wysłać wiadomość do siebie? To wszystko jest dla mnie takie nowe.
Andrew
Można użyć następującego polecenia, aby wysłać wiadomość testową do siebie: (echo Subject: test; echo) | /usr/sbin/sendmail -i YOUR_LOGIN. Kod pośredniczący Sendmaila jest dostarczany także przez inne serwery MTA (np. Postfix, exim).
AnFi

Odpowiedzi:

20

Bufory poczty są zazwyczaj poniżej:

/var/spool/mail/$USER

Gdzie $USERjest twoja nazwa użytkownika? Na przykład w moim systemie Linux Fedory:

$ ls -l /var/spool/mail/
total 1908
-rw-------. 1 root root 1943163 Jul 13 12:00 root
-rw-rw----. 1 rpc  mail       0 Dec 18  2010 rpc
-rw-rw----. 1 saml mail     689 Jul 12 19:38 saml

Bufory poczty niekoniecznie są jednak lokalne. Jeśli nie masz tego pliku, Twoja poczta jest przechowywana na innym serwerze. Możesz albo współpracować z tym serwerem, używając protokołów takich jak IMAP lub POP3 .

To w tym systemie jest utrzymywany bufor poczty.

W niektórych środowiskach bufor poczty może być udostępniany jako część katalogu domowego użytkownika, często w katalogu o nazwie mail ($HOME/mail). Innym razem może być udostępniany jako własny udział w ramach czegoś takiego /mail/users/$USER.

To naprawdę zależy od tego, jak sysadmini w danym środowisku zdecydują się to zrobić.

slm
źródło
2
Uwaga: jeśli istnieje /var/mail, jak w pytaniu, może to być dowiązanie symboliczne do /var/spool/mail, jak w tej odpowiedzi, lub na odwrót. Przynajmniej tak jest w przypadku mojego domowego laptopa Ubuntu z System76. Usunięcie plików / folderów z jednego katalogu prawdopodobnie spowoduje usunięcie odpowiedniego pliku z innego katalogu.
próbuje
7

Jeśli twoje urządzenie nie jest źle skonfigurowane, polecenie mail(lub inne programy pocztowe, takie jak mutt) uzyskają dostęp do lokalnej skrzynki pocztowej. Zazwyczaj lokalna skrzynka pocztowa jest albo /var/spool/mail/$USERalbo /var/mail/$USER. Jeśli skrzynka pocztowa znajduje się w niestandardowej lokalizacji, administrator systemu mógł tak skonfigurować system, aby ustawiał MAILzmienną środowiskową na lokalizację skrzynki pocztowej.

Jeśli nigdy nie otrzymałeś poczty na tym komputerze, plik nie będzie istniał. Wyślij sobie wiadomość, a plik zostanie utworzony.

Jeśli jakakolwiek poczta zostanie dostarczona na tym komputerze, agent transferu poczty jest uruchomiony. Nigdy nie wchodziłbyś w bezpośrednią interakcję z MTA: jest to coś, co skonfigurował administrator.

Istnienie plików /var/spool/mail/nobodyi/var/spool/mail/www-data pokazuje, że istnieje (lub była) MTA działająca i dostarczająca pocztę lokalnie. Prawdopodobnie zawierają raporty z zadań crona.

Będziesz mógł odbierać pocztę z innych komputerów tylko wtedy, gdy maszyna ta jest skonfigurowana do odbierania poczty. W środowisku z wieloma komputerami powszechne jest konfigurowanie jednego komputera do odbierania całej poczty. Wskazuje to DNS . Jeśli istnieje rekord MX dla hosta, wskazuje on, który host ma odebrać pocztę przeznaczoną dla tego hosta. Możesz zobaczyć rekord MX za pomocą host -t MX $HOSTNAMElub dig MX $HOSTNAME.

Nawet jeśli odbierasz pocztę lokalnie, możliwe jest, że została ona przekierowana na inną maszynę. Sprawdź, czy .forwardw katalogu domowym znajduje się plik o nazwie : zawiera on adres e-mail, na który można przekierować pocztę, lub inną dyrektywę informującą MTA, co należy zrobić po otrzymaniu poczty. Możesz również mieć .procmailrcplik, jeśli MTA jest skonfigurowany do używania procmaila do dostarczania poczty, co jest dość powszechne.

Gilles „SO- przestań być zły”
źródło
6

Powinieneś go znaleźć w /var/spool/mail/(tradycyjnej lokalizacji) lub /var/mail(nowej zalecanej lokalizacji). Zauważ, że jeden może być dowiązaniem symbolicznym do drugiego, więc najlepiej przejść do tego, który jest rzeczywistym katalogiem (a nie tylko linkiem). Tutaj powinieneś znaleźć plik o nazwie takiej samej jak nazwa użytkownika, czyli twoja skrzynka pocztowa. Powinien być twoją własnością, więc powinieneś być w stanie łatwo zrobić jego kopię.

Baard Kopperud
źródło
Niestety, /var/spool/mail/i /var/mail/każdy z nich ma tylko dwa pliki: nobodyi www-datażaden z nich nie jest moją nazwą użytkownika. Dziękuję za Twój czas.
Andrew
@Andrew - brak Twojej nazwy użytkownika w tych katalogach informuje tylko, że nie dostarczono żadnej poczty lokalnie w tym konkretnym systemie.
slm