한때 명령줄에서 이메일 파일을 읽을 수 있는 아주 간단한 방법이 있었을 거라 확신합니다. 하지만 지금은 더 이상 찾을 수 없습니다.
MailDir 형식의 파일이 있고 그 내용(헤더, 본문(HTML/일반 텍스트), MIME 디코딩, 첨부 파일 추출 가능)을 보고 싶습니다. 이것은 내 이메일이 아닙니다. 나를 위해 이메일을 받고, 정렬하고, 보낼 수 있는 MUA를 원하는 것이 아닙니다. 이는 단지 내가 검토해야 하는 원시 파일일 뿐입니다.
답변1
콤보메일 디렉토리 도구(적어도 데비안에서는 그렇게 부릅니다) mu
Maildir 메일 메시지의 내용을 표시하는 멋진 기능이 있는 이라는 프로그램이 포함되어 있습니다. 제목, 텍스트/일반 텍스트 섹션 및 첨부 파일 목록만 표시됩니다. 바라보다매뉴얼 페이지.
예: mu view /path/to/email-file
.
MIME이 포함된 이메일이 있는 경우 text/html
이를 별도의 파일로 추출할 수 있습니다. ( HTML이 첫 번째 부분이라고 가정하면 mu
기본값은 mu extract /path/to/email-file --parts=1
로 출력 됩니다.)1.msgpart
답변2
사용 mutt -f /path/to/Maildir
. 또는 mutt -R -f /path/to/Maildir
mutt가 메일함을 읽기 전용 모드로 열도록 하려는 경우.
고려 중인 명령줄 도구는 다음과 같습니다.MH또한 ~으로 알려진메시지 처리 시스템, 오래되고 유지 관리되지 않은 것, 또는뉴MH여전히 활발히 유지되고 있습니다.
나는 Ancient가 Maildir/mailbox를 처리할 수 없다고 생각 mh
하지만 nmh
확실히 할 수 있습니다.
nmh
패키징은 Debian에서 동일한 방식으로 작동하며 nmh
아마도 대부분의 다른 배포판에서도 마찬가지일 것입니다.
답변3
reformime
추출하는 데 사용할 수 있는 명령( maildrop
Debian/Ubuntu 패키지에 있음) 입니다.몸이메일 파일의.
reformime -i <your-message
다음과 같은 MIME 부분 목록을 얻을 수 있습니다.
section: 1
content-type: multipart/alternative
content-transfer-encoding: 8bit
charset: UTF-8
content-language: en-GB
starting-pos: 0
starting-pos-body: 2494
ending-pos: 75170
line-count: 1287
body-line-count: 1241
section: 1.1
content-type: text/plain
content-transfer-encoding: 8bit
charset: utf-8
starting-pos: 2578
starting-pos-body: 2666
ending-pos: 8180
line-count: 181
body-line-count: 178
section: 1.2
content-type: multipart/related
content-transfer-encoding: 8bit
charset: UTF-8
starting-pos: 8220
starting-pos-body: 8303
ending-pos: 75128
line-count: 1054
body-line-count: 1051
section: 1.2.1
content-type: text/html
content-transfer-encoding: 8bit
charset: utf-8
starting-pos: 8343
starting-pos-body: 8415
ending-pos: 25276
line-count: 343
body-line-count: 340
그런 다음 섹션을 추출할 수 있습니다. reformime -e -s 1.1
예를 들어 이렇게 하면 일반 텍스트 버전(1.1)이 추출됩니다. 마찬가지로 섹션 1.2.3이 이미지라면 다음과 같이 볼 수 있습니다.reformime -e -s 1.2.3 <mail.eml | display :-
따라서 일반 텍스트 버전만 보고 싶다면 편리한 한 줄로 "쉽게" 볼 수 있습니다.
F=/path/to/the-email-file
reformime -e -s $(reformime -i <$F | fgrep -B1 'content-type: text/plain' | head -n1 | cut -c 10- ) <$F
내가 찾고자 했던 쉬운 선택은 아니었지만 어쨌든 문서화하겠다고 생각했습니다!