로컬 메일 스풀을 어떻게 찾을 수 있습니까?


18

저는 대학원생이며 상대 Linux 초보자입니다. 이 질문은 내 이전 질문에서 분리 된 것 입니다. 우리 기관에는 Ubuntu Linux 클러스터가 있습니다. 나는 단지 사용자입니다. sysadmin 권한이 없으며 sysadmin에 대한 전문 지식이 없습니다!

내 질문은 로컬 메일 스풀을 어떻게 찾습니까? 내가 아는 한, 메일 전송 에이전트를 사용하지 않습니다. 이전 질문에 대한 답변 은 file을 찾도록 제안 /var/spool/mail/$USER했지만 불행히도 내 사용자 이름에 해당하는 파일이 표시되지 않습니다. 에서 /var/spool/mail/사용 ls: 나는 단지 두 개의 파일을 참조 nobody하고 www-data모두 확장명이 파일입니다.

메일 스풀을 어디에서 찾을 수 있는지에 대한 다른 아이디어가 있습니까?


3
시도echo $MAIL
squareborg

1
자신에게 이메일을 보냈습니까? 사서함 파일은 일반적으로 "필요에 따라"생성됩니다.
AnFi

@Shutupsquare 이것은 흥미 롭습니다. 내가 입력 할 때 echo $MAIL, 그것은 반환 /var/mail/myusername, 어디에서 myusername내 사용자 이름입니다. 그러나로 이동 /var/mail/하면 파일 myusername이 존재하지 않습니다.
Andrew

@ AndrzejA.Filip at예약 된 프로세스가 출력을 생성 할 때 로컬 메시지를 보내는 데 사용 하는 것 이외의 다른 방법으로 메시지를 보내려면 어떻게해야합니까? 이것은 나에게 아주 새로운 것입니다.
Andrew

다음 명령을 사용하여 테스트 이메일을 자신에게 보낼 수 있습니다 (echo Subject: test; echo) | /usr/sbin/sendmail -i YOUR_LOGIN. Sendmail 스텁은 다른 MTA 서버에서도 제공됩니다 (예 : postfix, exim).
AnFi

답변:


20

메일 스풀은 일반적으로 다음과 같습니다.

/var/spool/mail/$USER

$USER사용자 이름은 어디에 있습니까 ? 예를 들어 Fedora Linux 시스템에서 :

$ 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

그러나 메일 스풀이 반드시 로컬 인 것은 아닙니다. 이 파일이 없으면 다른 서버에서 메일을 관리하고있는 것입니다. IMAP 또는 POP3 과 같은 프로토콜을 사용하여이 서버와 상호 작용할 수 있습니다 .

메일 스풀이 유지 보수되는 것은이 시스템에 있습니다.

일부 환경에서는 메일 스풀을 사용자의 홈 디렉토리의 일부로 공유 할 수 있습니다 (종종) mail ($HOME/mail). 다른 경우에는 다음과 같은 방식으로 자체 공유로 공유 할 수 있습니다 /mail/users/$USER.

주어진 환경 내에서 sysadmins가 선택하는 방법에 따라 다릅니다.


2
참고 : /var/mail질문 /var/spool/mail과 같이가있는 경우이 답변과 같이에 대한 심볼릭 링크 일 수 있습니다 . 적어도 System76의 가정용 우분투 랩톱의 경우입니다. 한 디렉토리에서 파일 / 폴더를 제거하면 다른 디렉토리에서 해당 파일이 삭제 될 수 있습니다.
trysis

7

컴퓨터가 잘못 구성되어 있지 않으면 명령 mail(또는 같은 다른 메일 프로그램 mutt)이 로컬 사서함에 액세스합니다. 일반적으로 로컬 사서함은 /var/spool/mail/$USER또는 /var/mail/$USER입니다. 사서함이 비표준 위치에있는 경우 시스템 관리자가 MAIL환경 변수를 사서함 위치 로 설정하도록 시스템을 구성했을 수 있습니다 .

해당 컴퓨터에서 메일을받지 못한 경우 파일이 존재하지 않습니다. 자신에게 메일을 보내면 파일이 생성됩니다.

이 시스템에 메일이 배달되면 메일 전송 에이전트 실행중인 것입니다. MTA와 직접 상호 작용하지 않아도 관리자가 설정 한 것입니다.

파일의 존재 /var/spool/mail/nobody/var/spool/mail/www-data존재 (또는이었다) MTA가 실행 및 로컬 메일을 배달 보여줍니다. 크론 작업의 보고서가 포함되어있을 수 있습니다.

다른 컴퓨터에서 메일을 받도록 구성된 경우에만 다른 컴퓨터에서 메일을받을 수 있습니다. 다중 컴퓨터 환경에서는 모든 메일을 받도록 단일 시스템을 구성하는 것이 일반적입니다. 이것은 DNS를 통해 표시됩니다 . 호스트에 대한 MX 레코드 가있는 경우 해당 호스트 용 메일을받을 호스트를 나타냅니다. host -t MX $HOSTNAME또는로 MX 레코드를 볼 수 있습니다 dig MX $HOSTNAME.

로컬로 메일을받는 경우에도 다른 컴퓨터로 리디렉션 될 수 있습니다. .forward홈 디렉토리에 파일이 있는지 확인하십시오 . 여기에는 메일을 리디렉션 할 이메일 주소가 있거나 메일을받을 때 수행 할 작업을 MTA에 알리는 다른 지시문이 포함되어 있습니다. .procmailrcMTA가 procmail 을 사용하여 메일 을 배달 하도록 구성된 경우 에도 파일이있을 수 있습니다 .


6

/var/spool/mail/(전통적인 위치) 또는 /var/mail(새로운 권장 위치) 에서 찾아야합니다 . 하나는 다른 하나에 대한 심볼릭 링크 일 수 있으므로 링크가 아닌 실제 디렉토리 인 디렉토리로 이동하는 것이 가장 좋습니다. 여기에 사용자 이름과 같은 파일, 즉 사서함이 있습니다. 그것은 당신이 소유해야하므로 쉽게 사본을 만들 수 있어야합니다.


불행하게도, /var/spool/mail//var/mail/각 단지 두 개의 파일이 nobodywww-data나의 이름이며, 어느 쪽도 아니합니다. 시간 내 줘서 고마워.
Andrew

@Andrew-이 디렉토리에 사용자 이름이 없으면 특정 시스템에 로컬로 메일이 배달되지 않았 음을 나타냅니다.
slm
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.