나는 mutt
다음과 같은 일련의 단계를 수행합니다.
$ mutt -f imaps://imap.example.com
username
password
[shift]+[D]
~C [email protected]
[shift]+[D]
~C [email protected]
(...)
[shift]+[D]
~C [email protected]
[shift]+[U]
~d<91d
q
y
그래서 나는:
- 자격 증명을 제공하십시오
login
.password
[shift]+[D] ~C mailinglist@domain
메일링 리스트 삭제를 선택하세요.1,2...질소[shift]+[U] ~d<91d
단, 91일이 지나지 않은 항목은 모두 선택 취소하세요.q
탈퇴y
메시지 삭제 확인
이것을 자동화하는 방법은 무엇입니까? (스크립트로 만들어라)
mutt -e ...
인용하다:
- 지금까지 내 시퀀스는 다음을 기반으로 합니다.
- 내 단계를 완전히 신뢰할 수 있는 작업 스크립트로 전환하는 방법을 모르겠지만 다음을 살펴보았습니다.
답변1
1. 인증
구성 설정을 사용하여 URI에 사용자 이름을 지정하고 imaps://
비밀번호를 지정합니다.imap_pass
이러한 설정을 default 에 두지 않으려면 ~/.muttrc
별칭 또는 셸 스크립트 래퍼를 만들어 mutt
이러한 설정으로 실행할 수 있습니다. 예를 들어
$ alias muttexample="mutt -f 'imaps://[email protected]/'
-e 'set imap_pass=PASSWORD'"
$ muttexample
(가독성을 높이기 위해 줄바꿈과 들여쓰기가 추가되었습니다.)
매우 조심스럽고 명령줄에서 암호를 사용하고 싶지 않은 경우( 를 ps
사용하거나 보면 쉽게 알 수 있음 ) 예를 들어 다음 두 줄을 포함 /proc
하는 파일을 만들 수 있습니다 .~/.muttrc.extra
source ~/.muttrc
set imap_pass=PASSWORD
chmod 600 ~/.muttrc.extra
본인만 읽을 수 있도록 실행하는 것을 잊지 마세요 .
그런 다음 별칭을 다음과 같이 설정합니다.
$ alias muttexample="mutt -f 'imaps://[email protected]/'
-F ~/.muttrc.extra"
2. 자동삭제
이제 인증이 해제되었으므로 메시지를 자동으로 삭제하는 가장 쉬운 방법은 를 사용하는 것입니다 ~/.muttrc.extra
.
source ~/.muttrc
set imap_pass=PASSWORD
folder-hook imaps://[email protected]/ push '[email protected]<enter>[email protected]<enter>[email protected]<enter>U~d<91d<enter>qy'
폴더 후크에서 URI를 최적화해야 할 수도 있습니다 . 저는 imap을 직접 사용하지 않으므로 해당 부분이 폴더 후크에 필요한지 imaps://
모르겠습니다 .USERNAME@
해당 폴더 후크 라인이 편집하거나 이해하기에는 너무 길고 복잡해지면 다음 위치에 명령을 저장할 수 있습니다 ~/.muttrc.deletecmds
.
[email protected]
[email protected]
[email protected]
U~d<91d
qy
그런 다음 폴더 후크에 이것을 사용하십시오.
folder-hook imaps://[email protected]/ push `sed -z 's/\n/\<enter\>/g' ~/.muttrc.deletecmds`
이번에는 외부 명령을 호출 ~/.muttrc.extra
하기 위해 작은따옴표 대신 백틱을 사용한다는 점에 유의하세요 .mutt
이 sed
명령은 \n
각 개행 문자( )를 리터럴 텍스트로 바꿉니다 <enter>
. 해당 -z
옵션을 사용하므로 sed
GNU가 필요합니다. GNU sed가 없으면 대신 perl
sed를 사용할 수 있습니다 awk
.
그런데, 메일함의 로컬 복사본에서 테스트하는 것이 좋습니다(imap이 아닌 로컬 파일을 가리키도록 메일함과 폴더 후크 라인 등을 조정). 로컬 메일이 없다면 imap 메일함의 일부 또는 전체 메시지를 로컬 mbox 파일에 저장하세요.
qy
또한 폴더 후크 라인(또는 파일)의 ~/.muttrc.deletecmds
마지막 항목 없이 테스트 하겠습니다. mutt
자동으로 종료되지 않으므로 수동으로 종료되는지 확인하세요.정확히당신이 원하는 것, 그 이상은 없습니다. 또한 를 %
입력한 후 종료하여 변경 사항을 디스크에 기록하는 것을 비활성화 할 수 있으므로 qy
테스트 편지함을 다시 채울 필요가 없습니다.
3. 예더 나은 것이것을 하는 방법
mutt
실제로 작업에 적합한 도구는 아닙니다.
이 작업을 고려해 보셨나요 perl
?네트워크::IMAP::단순기준 치수? 아니면 그 중 하나많은 기타 모듈 perl
IMAP 및 이메일 처리용(예:이메일::단순)?
perl
마음 에 들지 않는다면 python
이것은 좋은 imaplib2
모듈입니다.