/ var / mail / root를 다시 보내려면 어떻게해야합니까?


12

일부 잘못된 구성을 통해 / var / mail / root 및 / var / mail / www-data에 많은 이메일이 있습니다.

이 파일들을 어떻게 "루프"하고 각 메일을 다른 시간에 보낼 수 있습니까?

답변:


17

procmail의 일부인 formail (아마도 시스템에서 이미 사용 가능할 수 있음)은 메일 함을 가져 와서 메시지로 분할 한 후 각각에서 명령을 실행할 수 있습니다. 매뉴얼 페이지에서 :

   -s   The input will be split up into separate mail messages, and  piped
        into  a  program  one  by  one (a new program is started for every
        part).  -s has to be the last option specified, the first argument
        following  it  is  expected to be the name of a program, any other
        arguments will be passed along to it.  If you  omit  the  program,
        then  formail  will  simply  concatenate the split mails on stdout
        again.  See FILENO.

그래서 당신은 내가 원하는 생각을 할 수 있습니다 :

  formail -s /usr/sbin/sendmail -oi -t < /var/mail/root

3
그러나 kriss가 다시 한 말 : 주소 지정; 이 솔루션은 로컬 별명 또는 다른 메시지를 / var / mail / root로 다시 보내도록 수정했다고 가정합니다. 예를 들어 "formail -s / usr / sbin / sendmail -oi you@somewhere.else"를 수행하여 모든 메시지를 리디렉션 할 수 있습니다.
Larsks 2009

www-data와 root가 이제 올바르게 구성되었다고 가정하면, "foo in ls /var/mail; formail -s / usr / sbin / sendmail -oi $ foo <./$foo; done"과 같이 각 파일을 루프하여 로컬로 전달해야합니다 ..
Tom H

3
mutt -f /var/mail/www-data

그런 다음 음소거 내에서 ...

T.*
;b

T는 태그 지정 모드로 전환하고. *는 모든 메시지에 태그를 지정합니다. 세미콜론은 다음 명령을 태그가 지정된 모든 메시지에 적용하고 마지막으로 메시지를 표시 할 주소로 메시지를 "바운스"합니다.

기억에서 나는

D.*

또는

T.*
;d

그런 다음 사서함을 비 웁니다.


0

/ var / spool / mail / xxx unix 메일 함 파일은 메일 메시지가 순서대로 유지되는 간단한 텍스트 파일입니다. 각 메일 메시지는 발신자와 수신 날짜가 포함 된 "보낸 사람"줄 (메타는 메시지의 일부가 아님)로 시작한 다음 메일 헤더를받은 다음 메일 본문을받습니다.

기본적으로 이러한 From 라인을 감지하는 파일을 반복하고 모든 메시지를 추출 한 다음 cpan에서 python smtp 모듈 또는 perl Net :: SMTP 모듈과 같은 도구를 사용하여 보낼 수 있습니다.

대상이 다른 로컬 사서함 인 경우 메시지 (보낸 사람 줄 포함)를 추가 할 수 있습니다. 루트를 대상으로하는 메시지를받지 않아도 전체 루트 사서함을 다른 사서함에 추가 할 수도 있습니다.

나는 그것을하는 스크립트를 가지고 있어야하며 원하는 경우 모범을 게시 할 것입니다.

문제는 메시지의 실제 대상을 얻는 것일 수 있습니다. 루트 사서함으로 끝났을 경우 처음부터 루트를 대상으로 했었기 때문일 수 있습니다.

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