sendmail 이메일은 어디에 저장됩니까?


10

sendmail에 대한 자동 응답 스크립트를 작성하려고합니다 (아직 미리 작성된 스크립트를 사용하고 싶지 않습니다).하지만 서버에서 수신 된 전자 메일의 위치를 ​​찾지 못하는 것 같습니다. 구성이 기본 구성이 아님을 지정해야합니다.

에서 보았습니다 /root. 메일 폴더가 없습니다. (루트 이외의 다른 사용자는 없습니다). 에서 보았습니다. /var/mail/root일부 로그는 메일로 나에게 전송되지만 사용자로부터받은 외부 메일은 아닙니다.

확인 /var/log/maillog했지만 오류가 없습니다.

어디서 볼 아이디어가 없습니다. 누구든지 나를 도울 수 있습니까?

답변:


6

sendmail (메일 전송 에이전트-MTA)은 메일을 저장하도록 구성된 위치에 메일을 저장합니다. 그러나 MTA 는 현재 대기열에있는 메일 저장합니다. 사용자가 액세스 할 수있는 위치로 메일을 배달하는 것은 MDA (Mail Delivery Agent)에서 처리합니다. sendmail (및 기타 MTA)이 MDA의 역할을 할 수 있지만 그 경우가 매우 드 unusual니다.

그럼에도 불구하고 메일 파일에 액세스하려고 시도하는 것이 자동 응답을 구현하는 올바른 방법이 아닙니다.

이것은 MTA (즉, milter) 또는 MDA에서 필터로 수행해야합니다. 산란기의 물고기 수컷의 API는 특히이 설계되었습니다 - 거기에 이미 사용할 수있는 도구가 될 수 있습니다 수정없이 귀하의 요구 사항을 충족합니다.

현재 MDA가 procmail이라면 운이 좋을 것입니다. 이것은 메일 메시지를 처리 ​​할 수있는 유연성을 제공합니다 (실제로 프로그래밍 언어). 다시 인터넷에 당신의 요구를 충족시킬 수 있는 많은 코드 가 있습니다 (AFAIK는 프록 메일 레시피에 대한 중앙 저장소가 없지만 구글을 시도하십시오).

기본 .forward 메커니즘조차도 이것을 구현하는 데 사용될 수 있지만, 이것에 대해 procmail 경로를 따라 가면 전달이 스크립트에 의존하거나 구현되지 않도록 메시지를 포크 할 수 있습니다.


procmail이 설치되어 있지만 (procmail-3.22-17.1.el5.centos.x86_64) 확실하지는 않습니다. 또한 procmail을 사용하는 자동 회신 스크립트에 대해서도 읽었습니다. procmail이 사용 중인지 확인할 수 있습니까?
Eduard Luca

1
sendmail.cf파일 의 내용 을 시작 줄 주위에 게시하면 Mlocal사용할 수있는 MDA가 무엇인지 알 수 있습니다.
MadHatter

예, procmail입니다. 예이! P=/usr/bin/procmail코드입니다. 감사합니다 :)
Eduard Luca

그러나 나는 procmailrc파일 이 없다 . sendmail + procmail이 실제로 사용되는지 궁금합니다.
Eduard Luca

sendmail에 구성되어 있고 메일이 배달되는 경우 procmail을 사용하여 (기본값은 컴파일 된 상태). procmail의 맨 페이지를 참조하십시오. 일반적으로 / etc / procmailrc 및 ~ / .procmailrc를 쫓아 내고 둘 중 하나라도 없으면 컴파일 타임에 구성에 따라 메일을 전달합니다.
symcbean

6

기본 디렉토리 이외의 다른 디렉토리를 구성한 경우 /etc/mail/sendmail.cf에서 경로 설정을 확인해야합니다.

이것은 OS 배포에 따라 다양 할뿐만 아니라 다른 버전의 sendmail 사이의 기본 디렉토리도 변경되었습니다. 간단히 말해, 기본값을 알려면 OS 버전과 sendmail 버전을 알아야합니다. 메일 드롭의 기본값은 / var / spool / mail / $ USERNAME입니다. 사용자가 다른 응용 프로그램으로 메일을 읽으면 일반적으로 $ HOME / mbox로 이동합니다.

다음은 일반적인 메일 디렉토리 목록입니다.

  • / var / mail / $ USERNAME
  • / var / spool / mail / $ USERNAME
  • $ HOME / mbox
  • $ HOME / 메일
  • $ HOME / Maildir

고맙지 만 구성 파일에서 어떤 변수 이름을 찾아야합니까? 나는 무언가를 읽었 $MAIL = 지만 구성 파일에서 찾을 수 없습니다. / var / spool / mail / root를 확인했는데 거기에 일부 메일이 있지만 올바른 메일이 아닙니다. (이메일을 보내고 파일을 빠르게 확인했기 때문에 읽지 않았을 것입니다. 없었습니다).
에두아르 루카

3

구성 방법에 따라 다르지만 일반적인 위치는 /var/spool/mail또는 일부 distros /var/mail입니다. 그 장소에 있지 않다면 알려주십시오 . 파고 시작합니다 !


일부 메일이 /var/spool/mail/root있지만 로컬 메일 만 있습니다 (루트에서 루트로 전송).
Eduard Luca

다른 무엇입니까 /var/spool/mail?
MadHatter

rpc완전히 비어 있는 파일 .
Eduard Luca
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.