mailx를 사용하여 POP3 서버의 모든 전자 메일 메시지를 단일 텍스트 파일로 다운로드하는 방법은 무엇입니까?

mailx를 사용하여 POP3 서버의 모든 전자 메일 메시지를 단일 텍스트 파일로 다운로드하는 방법은 무엇입니까?

기존 이메일 서버에 있는 모든 이메일을 다운로드하고 싶습니다. POP3를 사용하며 "받은 편지함" 및 "보낸 편지함" 폴더에 있는 이메일에 관심이 있습니다. 모든 메시지를 다운로드한 후에는 내 이메일 주소와 특정 이메일 주소 사이의 모든 이메일을 시간순으로 단일 텍스트 파일로 나열하는 스크립트를 만들고 싶습니다.

하지만 처음에는 모든 메시지를 날짜가 포함된 헤더가 포함된 단일 파일로 다운로드한 다음 정렬 스크립트를 만들어야 한다고 생각합니다. 이에 접근하는 방법은 무엇입니까?

메일을 보내기 위한 스크립트에서 mailx를 사용했는데, POP3 서버의 모든 메일을 단일 파일로 다운로드하기 위해 mailx를 사용할 수 있습니까?

답변1

전통적인 mailx는 IMAP이나 POP를 지원하지 않지만 Linux와 함께 제공되는 것은 지원합니다.

특정 문제가 있는 경우 fetchmail대신 사용하는 것이 좋습니다. 당신은 사용할 수 있습니다--mdafetchmail다운로드한 각 메시지에 대해 선택한 스크립트를 실행하는 옵션입니다 . 명령줄에서 %F및를 자리 표시자로 사용하는 경우 From 및 To 주소를 매개 변수로 스크립트에 전달할 수도 있습니다 .%T

먼저 mailsorter스크립트를 만듭니다.

#!/bin/sh

dest_mbox="$1"
from="$2"
to="$3"

case "$from-$to" in
  [email protected])
     echo "From $from  `date`" >> "$dest_mbox"
     cat >> "$dest_mbox"
     ;;
  *)
     cat > /dev/null
     ;;
esac

그런 다음 실행fetchmail -u myname popserver.example.com --mda './mailsorter /tmp/mbox %F %T'

이 솔루션을 테스트하는 동안 실수로 메일을 삭제하지 않도록 및 플래그를 지정 fetchmail하세요 .--all--keep

관련 정보