
CentOS 5.x | 메일을 보내다
안녕하세요 여러분,
/var/spool/mail/에서 개별 메시지를 검색하는 쉬운 방법이 있습니까? 정말 간단한 스크립트에 대한 아이디어가 있고 각 개별 메시지에서 무엇인가를 확인하고 싶습니다.
시나리오는 다음과 같습니다.
1) 새 이메일이 받은 편지함에 도착합니다. 2) 스크립트는 특정 문자열을 확인합니다. 3) 문자열이 발견되면 스크립트는 다양한 헤더 정보를 검색하고 해당 주소로 이메일 정보를 보냅니다.
나는 milter가 아마도 갈 길이라는 것을 알고 있지만 나는 그것을 연습하고 싶기 때문에 쉘 스크립트를 사용하여 이 작업을 수행할 수 있는 방법을 찾고 싶었습니다. 문제는 개별 메시지를 구문 분석하거나 분리하는 방법을 찾을 수 없다는 것입니다. /var/spool/mail/을 조사해 보면 메시지가 여러 개 있고 메시지 사이에 고유한 구분 기호가 없는 큰 파일이 있습니다.
답변1
간단한 쉘 스크립트를 무시한다면 거의 모든 프로그래밍 언어에는m박스포맷된 사서함.
- http://docs.python.org/library/mailbox.html
- http://search.cpan.org/~dcoppit/Mail-Mbox-MessageParser-1.5002/lib/Mail/Mbox/MessageParser/Perl.pm
- http://www.phpclasses.org/browse/file/3127.html
물론 주변을 둘러보면 POP3 및 IMAP 클라이언트 라이브러리도 많이 찾을 수 있습니다.
답변2
일반적으로 메일이 수신되면 procmail과 같은 MDA를 사용하여 이런 종류의 작업을 수행합니다. 이미 메일함이 있는 경우 procmail에는 formail
(1)이 포함되어 있어 메일함의 각 메일에 대해 프로그램을 실행할 수 있고 헤더를 필터링하고 다시 쓸 수 있는 기능이 있습니다.