로컬 maildir 받은 편지함과 동기화하고 +를 사용하여 offlineimap
스팸 필터링 및 정렬을 수행한 후 메일 저장소에서 태그 메일을 사용합니다.fdm
bogofilter
notmuch
최근까지 저는 다음 셸 코드를 사용하여 특정 조건에 따라 메시지에 태그를 지정하고 다시 태그를 지정했습니다.
notmuch new
tr -s '\t' ' ' <<'END_BATCH' | notmuch tag --batch
-inbox +sent -- folder:/Sent/
-inbox +archive -- folder:/Archive/
-inbox +junk -- folder:/Junk/
+unsorted -- folder:/INBOX.Unsorted/
-unsorted -- not folder:/INBOX.Unsorted/
-unread -- tag:archive
+unread -- tag:unsorted
END_BATCH
이렇게 하면 , 또는 폴더에 있는 모든 메시지에서 라벨이 제거되고 inbox
세 폴더 모두에 대해 적절한 라벨로 메시지 라벨이 다시 지정됩니다. 그런 다음 메시지가 폴더(분류할 수 없는 메시지를 넣은 폴더)에 있는지 여부에 따라 메시지를 표시하거나 표시 해제합니다. 마지막으로 보관된 메시지는 다음으로 표시되지 않고, 정렬되지 않은 메시지는 다음으로 표시되지 않는지 확인했습니다.Sent
Archive
Junk
INBOX.Unsorted
bogofilter
unread
예로 표시하세요 unread
.
이것은 훌륭하게 작동합니다.
5개의 서로 다른 계정을 통해 메일을 받기 때문에 폴더 이름을 기준으로 메일에 다음과 같은 라벨을 추가하고 싶습니다 account-somename
.account-othername
notmuch new
tr -s '\t' ' ' <<'END_BATCH' | notmuch tag --batch
-inbox +sent -- folder:/Sent/
-inbox +archive -- folder:/Archive/
-inbox +junk -- folder:/Junk/
+unsorted -- folder:/INBOX.Unsorted/
-unsorted -- not folder:/INBOX.Unsorted/
-unread -- tag:archive
+unread -- tag:unsorted
+account-acc1 -- folder:/acc1/
+account-acc2 -- folder:/acc2/
+account-acc3 -- folder:/acc3/
+account-acc4 -- folder:/acc4/
+account-acc5 -- folder:/acc5/
END_BATCH
태그가 예상대로 작동하는 것 같지만 부작용은 다음과 같습니다.새 메시지는 오래된 메시지로 표시됩니다.(maildir의 new
디렉토리에서 이 cur
디렉토리로 이동합니다.) 이는 결국 mutt
받은 편지함의 새 메시지가 감지되지 않음을 의미합니다(제가 maildir_check_cur
이것을 config 에서 설정 하지 않는 한 mutt
, 이는 매우 좋은 해결책이라고 생각하지 않습니다).
이런 일이 발생하는 것을 막기 위해 왜, 무엇을 할 수 있는지 모르겠습니다.
내 notmuch
구성:
[database]
path=/home/myself/Mail/inboxes
[user]
name=myname
[email protected]
[email protected]
[new]
tags=inbox;unread
[search]
[maildir]
syncronize_flags=true
[index]
header.List=List-Id
답변1
notmuch
이는 어떤 메일 파일이 어느 Maildir 하위 디렉터리에 들어가야 하는지에 대해 너무 현학적이며 offlineimap
동일한 사항에 대해 너무 느슨하기 때문에 발생하는 것 같습니다 .
유틸리티 는 예상대로 offlineimap
메일 메시지를 대상 Maildir의 new
디렉터리로 전달하지만 파일 이름에는 :2,
"이 메일 메시지에는 플래그가 없습니다."를 의미하는 파일 이름 접미사가 있습니다. 일반적으로 새 메시지 파일, 보이지 않거나 방금 보낸 메시지 파일에는 사용자의 MUA(메일 클라이언트)가 추가하는 파일 이름 접미사가 있어서는 안 됩니다.
Maildir 플래그를 동기화하도록 구성 하면 notmuch
(아마도 그렇게 하기를 원할 것임) 메시지 파일에 파일 이름 :2,
접미사가 있음을 알 수 있으므로 사용자가 MUA에서 메시지를 보아야 하지만 읽지 않았다고 가정합니다. 아직 ( S
나중에 접미사에 쉼표가 있음). 그런 다음 메시지 파일을 해당 cur
디렉터리로 이동합니다. 따라서 메일 mutt
클라이언트는 이를 "오래된"(보았지만 읽지 않음)로 표시합니다.
해결책은 행동을 수정하는 것이지만 offlineimap
,버그로 접수되어 2015년에 기각되었습니다..
내 해결책은 offlineimap
방정식에서 그것을 제거하는 것이 었습니다. 대신에 나는 모든 이메일을 받는 데 사용합니다 fdm
. 나중에 다른 IMAP 동기화 솔루션( mbsync
?)을 고려할 수도 있습니다. 메일 서버에 몇 주 분량의 메일을 보관해 두는 것이 내 호스트에서 해당 메일에 액세스하는 데 좋을 것이기 때문입니다.