인터넷 메일을 어떻게 선별·필터링·관리하나요?

11 hours ago 5

Lobste.rs 의견들
  • Sieve를 정말 좋아함
    Roundcube에는 WebUI에서 GUI로 Sieve를 편집할 수 있는 플러그인도 있어서, Sieve 언어 기능을 알아가기에 좋고 필요하면 스크립트 파일을 직접 편집할 수도 있음
    보통 사이트마다 도메인별 이메일 주소로 가입해서 쉽게 필터링함, 예를 들면 lobsters@example.com 같은 방식임

    if address :localpart :is "to" ["lobsters"] { fileinto "Social"; stop; }

    메일링 리스트는 쓰지 않지만, 시도한다면 리스트마다 받은편지함을 하나씩 만들고 메일 클라이언트에서 스레드별로 묶은 뒤 읽지 않은 메시지만 보이게 할 것 같음
    스팸은 본문에 "my salacious friend" 같은 문구가 있는지 보는 기본 규칙과 info@ 같은 일반 받은편지함을 거부하는 정도로도 6년 넘게 충분했고, 수동 규칙은 6개뿐이라 개인 용도에서는 rspamd 같은 머신러닝 해법에 투자할 이유를 못 느낌

  • 가끔 메일 클라이언트는 바꾸지만, 몇 년째 가져오기-필터링 작업흐름은 거의 그대로임
    현재는 mutt를 오래 쓰다가 Gnus를 평가 중이고, mpop으로 메일 제공자 서버에서 메일을 가져와 maildrop으로 파이프한 뒤 로컬 메일 디렉터리의 여러 maildir 폴더 중 하나에 저장함
    어느 폴더로 갈지는 .mailfilter라는 큰 스크립트가 정하고, 메일링 리스트는 주로 List-Id 헤더로 매칭함. 몇 년 동안 리스트를 구독하면서 이 RFC2919 헤더를 설정하지 않는 메일링 리스트는 한 번도 못 봤음
    개인 메일은 대체로 From 헤더로 필터링하고, 스팸은 제공자가 워낙 잘 처리해서 별도 규칙이 없으며 1년에 몇 번 받은편지함에 들어오는 정도라 손으로 지움
    이 방식은 고전적인 procmail 기반 흐름과 거의 같지만 procmail 대신 maildrop을 씀. 당시 procmail이 유지보수되지 않는다는 글을 보고 대안을 찾다가 Courier MTA의 일부지만 단독으로도 쓸 수 있는 maildrop을 골랐음
    maildir 기반 로컬 메일 저장소의 장점은 여러 가벼운 메일 클라이언트, 이메일 용어로 MUA를 같은 maildir 디렉터리 구조에 문제없이 붙여 쓸 수 있다는 점임
    이 구성이 아주 만족스럽고 몇 년째 유용성이 입증됨. 지금 가장 걱정되는 건 메일 제공자들이 웹메일 인터페이스만 열어두고 POP3나 IMAP조차 제공하지 않게 되는 흐름임. 현재 직장에서는 이미 그 싸움에서 졌고, 온프레미스 MS Exchange를 쓰면서 메일 읽는 유일한 방법이 웹메일이라 끔찍함

    • 현재 다니는 대학은 등록자가 거의 5만 명인데 POP3, IMAP, OAuth 기반 최신 인증 앱을 지원하지 않음
      웹메일, Outlook, 아니면 아무것도 없음. 지원 수준과 무관하게 다른 클라이언트를 아예 허용하지 않기로 적극 선택했다는 점이, 이메일이라는 매체에 대한 모욕처럼 느껴짐
      “사람들이 충분히 쓰면 결국 다른 이메일 클라이언트를 지원해야 하지 않겠냐”는 말도 가능하지만, 바로 그게 요지임. 웹메일과 Outlook보다 더 나은 방식을 쓸 수 있어야 함
  • 예전에는 직접 메일 서버와 IMAP 서버를 운영했고 친구들이 백업 MX를 호스팅해줬지만, 결국 삶을 단순하게 하려고 Fastmail로 옮김
    Sieve 스크립트와 Fastmail의 “filters and rules”를 통한 Sieve로 메일을 정리한 뒤, isync/mbsync로 개인 장비의 maildir에 가져옴
    월말에 수동으로 정리하고, 메일이 적은 폴더는 6개월마다 또는 매년 archive/<folder>-YYYYMM로 보관함. 아카이브도 로컬에 동기화하고 전부 백업하지만, 패치 리뷰를 위한 좋은 방법은 아직 없음

  • 2020년까지 직접 이메일 서버를 운영하다가, 계속 변하는 수신 스팸 물량 때문에 포기하고 Fastmail에 가입함
    Fastmail은 좋게 말하면 화려해진 Squirrelmail처럼 느껴짐. 그들의 Mail filtering 기능을 써서 특정 수신자를 폴더로 보내는 식의 필터링을 해왔음
    제공자와 별개로, 어떤 메일 클라이언트에도 쉽게 불러올 수 있는 단순한 보관 구조를 씀. 연도별 폴더를 하나씩 두는 방식이라 2025, 2024, 2023 같은 폴더가 있고 각 폴더에는 대략 천 통 정도의 메일이 있음
    새해가 시작되면 Archive 폴더에 있는 2026년 메일을 새 2026 폴더로 옮김. 메일을 찾을 때 폴더만 봐도 1년 안쪽인지 8년 전인지 감이 와서 더 찾기 쉬움

  • imapfilterimap_tools를 둘 다 사용함

  • Postfix → spfpolicyd → https://github.com/fazalmajid/gtldmilter → Procmail 순서로 씀
    Sieve를 써야 한다는 건 알고 있음. 특수한 경우에는 https://github.com/Dirac-Software/mailsink 같은 커스텀 이메일 처리기도 작성했음
    Cal Newport의 말처럼 구조화되지 않은 이메일은 반복 업무흐름에 쓰면 안 된다고 보고, 이메일 기반 흐름은 질색해서 피함. 그래서 SourceHut의 목표에는 대체로 공감하지만 고려하지 않았음

  • 예전에는 procmail을 쓰다가 Sieve로 옮겼고, 지난 몇 년은 notmuch 태깅 스크립트를 씀
    이 태깅이 진짜 강력해진 부분임. 스레드에 임시로 태그를 붙이면서도 나머지 태그를 그대로 유지할 수 있고, 무엇을 하려는지나 무엇을 찾고 싶은지에 따라 메일을 여러 방식으로 볼 수 있음
    여기에 catchall 이메일 도메인을 결합하고, 리스트와 서비스마다 고유 주소로 가입하면 필터링과 태깅이 아주 쉬워짐

  • 약간 곁가지 질문이지만, 발신 메일 서버는 다들 뭘 쓰는지 궁금함
    지금은 DigitalOcean에서 직접 메일 서버를 운영하고 DKIM/SPF/DMARC도 설정했지만, 메일 전달이 여전히 다소 불안정함
    Proton Mail 같은 곳에 돈을 내고 릴레이로 쓰고 싶은데 추천이 필요함

    • 처음에는 SMTP2GO의 무료 티어를 쓰려 했지만, 결국 일반적인 Postfix + Dovecot으로 감
      예전에 여기서 email setups 논의가 있었으니, 그 안에서 추천을 한두 개 찾을 수 있을지도 모름
    • Postfix와 Dovecot을 썼지만, 5년 넘게 직접 서버를 운영하지 않아서 요즘 표준이 뭔지는 잘 모르겠음
      자체 이메일 서버 호스팅을 완전히 접기 직전에 더 나은 경험을 만들려고 Roundcube를 살펴보고 있었는데, Fastmail을 발견하고 전부 내려놓음
    • 다른 선택지는 DigitalOcean을 떠나는 것
      스패머를 피하려는 노력이 충분하지 않아서 평판이 나쁨. Panix를 좋아하는데, 기본적으로 발신 25번 포트는 막지만 요청하면 열어주고, 고객이라면 그들의 발신 메일 서버를 릴레이로 쓸 수도 있음. 전달 문제는 한 번도 없었음
    • OpenSMTPD는 대안들보다 설정이 훨씬 쉬워서 개인용 smtpd의 적당한 균형점이라고 봄
      이미 나온 것처럼 DigitalOcean은 메일 서버로 좋지 않은 선택임
  • 예전에 List-ID 헤더가 있는 이메일을 각자 폴더에 넣는 간단한 Sieve 스크립트를 작성했음. 폴더가 없으면 생성됨: https://gist.github.com/epilys/bf190ffb0147aa5ab863f7fa886a27da
    단점은 일부 뉴스레터의 List-ID 값이 UUID처럼 사람이 읽기 어려운 값이라는 점임

  • Thunderbird를 사용함
    보관은 기존 보관 기능으로 충분함. 내가 알기로는 이메일을 디스크에 텍스트 파일로 저장함. 연도별 폴더나 연도+월별 폴더 같은 식으로 보관 방식을 설정할 수 있음
    처음엔 그렇게 했지만, 결국 보관함이 이메일 계정의 폴더 구조를 그대로 미러링하게 두기로 했음
    메일링 리스트에는 List-Id 헤더가 최고임. 그걸 기준으로 메일을 특정 디렉터리로 보냄. 라벨은 Thunderbird가 태그를 지원하지만 쓰지 않고, 목적지 폴더만으로 충분함
    패치는 이메일로 많이 리뷰하지 않지만, 이메일 방식을 일급 기능으로 다루는 SourceHut을 조금 써본 적은 있음
    Thunderbird에는 자체 클라이언트 측 필터링 시스템이 있고, 주 장비가 사실상 항상 켜져 있어서 잘 맞음. 시간이 지나며 도메인, 보통 최상위 도메인이나 이메일 리스트의 List-Id 헤더를 기준으로 메일을 옮기는 필터가 수십 개 쌓였음
    다만 Thunderbird의 동기화 이야기는 보관함, 메일, 설정, 필터 등 사실상 모든 면에서 거의 존재하지 않음
    작업 중이긴 하지만 마지막으로 확인했을 때는 20년 넘은 서부개척식 엔지니어링의 산물인 백엔드 코드베이스를 현대화하고 통합하는 데 집중하고 있었음. 기여자마다 SQLite, 일반 텍스트, JSON 파일, mork 데이터베이스 등 제각각 방식을 만들었으니 행운을 빌 수밖에 없음 :D

Read Entire Article