2 คะแนน โดย GN⁺ 3 시간 전 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • ประเด็นหลักคือเวิร์กโฟลว์การเก็บถาวรและจัดการป้ายกำกับของ อีเมลอินเทอร์เน็ต สำหรับผู้ใช้ที่สมัครหลายเมลลิงลิสต์และตรวจทานแพตช์จำนวนมาก
  • โดยเฉพาะเป็นคำถามถึงผู้ใช้ Lobsters ที่สมัครเมลลิงลิสต์ 20 รายการ และผู้ที่ตรวจทานแพตช์จำนวนมาก
  • ต้องการทราบว่ามีเวิร์กโฟลว์เฉพาะสำหรับการจัดการการเก็บถาวรและ ป้ายกำกับ หรือไม่
  • ถามถึงเครื่องมือที่ช่วยได้มาก โดยมีเงื่อนไขว่าหากเป็นไปได้จะ prefer เครื่องมือ FOSS
  • มีการยกตัวอย่างเฉพาะเจาะจงว่าใช้เครื่องมืออย่าง สคริปต์ Sieve หรือไม่

1 ความคิดเห็น

 
GN⁺ 3 시간 전
ความคิดเห็นจาก Lobste.rs
  • ชอบ Sieve มาก
    ใน Roundcube ยังมีปลั๊กอินที่ให้แก้ไข Sieve ผ่าน GUI บน WebUI ได้ด้วย จึงเหมาะสำหรับค่อยๆ เรียนรู้ความสามารถของภาษา Sieve และถ้าจำเป็นก็แก้ไขไฟล์สคริปต์โดยตรงได้
    ปกติจะสมัครแต่ละเว็บด้วยอีเมลแยกตามโดเมนเพื่อให้กรองได้ง่าย เช่น ใช้วิธีแบบ lobsters@example.com

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

    ไม่ได้ใช้ mailing list แต่ถ้าจะลองใช้ ก็น่าจะสร้าง inbox แยกให้แต่ละลิสต์ แล้วให้เมลไคลเอนต์จัดกลุ่มตามเธรดและแสดงเฉพาะข้อความที่ยังไม่ได้อ่าน
    สำหรับสแปม แค่กฎพื้นฐานอย่างตรวจว่ามีวลีอย่าง "my salacious friend" อยู่ในเนื้อหาหรือไม่ และปฏิเสธ inbox ทั่วไปอย่าง info@ ก็เพียงพอมานานกว่า 6 ปีแล้ว และมีกฎแบบกำหนดเองแค่ 6 ข้อ ดังนั้นสำหรับการใช้งานส่วนตัวจึงไม่รู้สึกว่าคุ้มจะลงทุนกับ โซลูชันแมชชีนเลิร์นนิงอย่าง rspamd

  • แม้จะเปลี่ยนเมลไคลเอนต์เป็นครั้งคราว แต่ตลอดหลายปีที่ผ่านมา เวิร์กโฟลว์การดึง-กรอง แทบไม่เปลี่ยนเลย
    ตอนนี้กำลังประเมิน Gnus หลังจากใช้ mutt มานาน โดยใช้ mpop ดึงเมลจากเซิร์ฟเวอร์ของผู้ให้บริการ แล้ว pipe เข้า maildrop ก่อนจะเก็บลงในโฟลเดอร์ maildir ใดโฟลเดอร์หนึ่งในไดเรกทอรีเมลแบบโลคัล
    จะไปโฟลเดอร์ไหนนั้นตัดสินโดยสคริปต์ขนาดใหญ่ชื่อ .mailfilter และ mailing list จะจับคู่หลักๆ ด้วย header List-Id ตลอดหลายปีที่สมัครลิสต์มา ยังไม่เคยเจอ mailing list ที่ไม่ตั้ง header RFC2919 นี้เลย
    เมลส่วนตัวส่วนใหญ่กรองด้วย header From ส่วนสแปมผู้ให้บริการจัดการได้ดีมากจนไม่ต้องมีกฎเพิ่ม และมีหลุดเข้า inbox ปีละไม่กี่ครั้งจึงลบด้วยมือ
    วิธีนี้แทบเหมือนเวิร์กโฟลว์แบบคลาสสิกที่อิง procmail แต่ใช้ maildrop แทน procmail ตอนนั้นเห็นบทความว่า procmail ไม่ได้รับการดูแลแล้ว จึงมองหาทางเลือกและเลือก maildrop ซึ่งเป็นส่วนหนึ่งของ Courier MTA แต่ก็ใช้แยกเดี่ยวได้
    ข้อดีของคลังเก็บเมลโลคัลแบบ maildir คือสามารถใช้เมลไคลเอนต์ขนาดเบาหลายตัว หรือในศัพท์อีเมลคือ MUA ร่วมกับโครงสร้างไดเรกทอรี maildir เดียวกันได้โดยไม่มีปัญหา
    คอนฟิกนี้น่าพอใจมากและพิสูจน์ตัวเองว่ามีประโยชน์มาหลายปีแล้ว สิ่งที่กังวลที่สุดตอนนี้คือแนวโน้มที่ผู้ให้บริการอีเมลจะเปิดให้ใช้แค่เว็บเมลอินเทอร์เฟซ และไม่ให้แม้แต่ POP3 หรือ IMAP ที่ทำงานปัจจุบันแพ้ศึกนี้ไปแล้ว ใช้ on-premises MS Exchange และวิธีเดียวที่จะอ่านเมลได้คือเว็บเมล ซึ่งแย่มาก

    • มหาวิทยาลัยปัจจุบันมีผู้ลงทะเบียนเกือบ 50,000 คน แต่ ไม่รองรับ POP3, IMAP หรือแอปที่ใช้การยืนยันตัวตนสมัยใหม่แบบ OAuth
      มีให้ใช้แค่เว็บเมล, Outlook, หรือไม่ก็ไม่มีอะไรเลย การที่เลือกอย่างตั้งใจว่าจะไม่อนุญาตไคลเอนต์อื่นเลย ไม่ว่าเรื่องระดับการรองรับจะเป็นอย่างไร รู้สึกเหมือนเป็นการดูหมิ่นตัวสื่อกลางที่ชื่อว่าอีเมล
      จะบอกว่า “ถ้ามีคนใช้มากพอ สุดท้ายก็คงต้องรองรับเมลไคลเอนต์อื่น” ก็ได้ แต่ประเด็นมันอยู่ตรงนั้นพอดี ควรมีทางเลือกที่ดีกว่าเว็บเมลกับ Outlook
  • เมื่อก่อนเคยดูแลทั้งเมลเซิร์ฟเวอร์และ IMAP เซิร์ฟเวอร์เอง และมีเพื่อนช่วยโฮสต์ backup MX ให้ แต่สุดท้ายก็ย้ายไป Fastmail เพื่อให้ชีวิตง่ายขึ้น
    จัดระเบียบเมลด้วยสคริปต์ Sieve และ Sieve ผ่าน “filters and rules” ของ Fastmail แล้วใช้ isync/mbsync ดึงลง maildir บนอุปกรณ์ส่วนตัว
    สิ้นเดือนจะจัดระเบียบด้วยมือ และโฟลเดอร์ที่มีเมลไม่มากจะเก็บเข้าคลังทุก 6 เดือนหรือทุกปีในรูปแบบ archive/<folder>-YYYYMM โดยซิงก์อาร์ไคฟ์ไว้ในเครื่องและสำรองข้อมูลทั้งหมดด้วย แต่ยังไม่มีวิธีที่ดีสำหรับ การรีวิวแพตช์

  • เคยรันอีเมลเซิร์ฟเวอร์เองจนถึงปี 2020 แล้วก็ยอมแพ้เพราะปริมาณสแปมขาเข้าที่เปลี่ยนไปตลอด เลยสมัคร Fastmail
    Fastmail ให้ความรู้สึกเหมือน Squirrelmail เวอร์ชันหรูขึ้นถ้าจะพูดในแง่ดี ใช้ฟังก์ชัน Mail filtering ของพวกเขาเพื่อกรอง เช่น ส่งผู้รับบางรายไปยังโฟลเดอร์
    แยกจากผู้ให้บริการแล้ว ก็ใช้โครงสร้างจัดเก็บแบบเรียบง่ายที่เรียกกลับเข้าเมลไคลเอนต์ไหนก็ได้ง่าย เป็นวิธีมีโฟลเดอร์ตามปี เช่น 2025, 2024, 2023 และแต่ละโฟลเดอร์มีเมลราวๆ พันฉบับ
    พอเริ่มปีใหม่ ก็ย้ายเมลปี 2026 ที่อยู่ในโฟลเดอร์ Archive ไปยังโฟลเดอร์ 2026 ใหม่ เวลาหาเมล แค่ดูโฟลเดอร์ก็พอเดาได้แล้วว่าอยู่ในช่วงปีล่าสุดหรือเมื่อ 8 ปีก่อน ทำให้หาง่ายขึ้น

  • ใช้ทั้ง imapfilter และ imap_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 เป็น relay เลยอยากได้คำแนะนำ

    • ตอนแรกกะจะใช้ free tier ของ SMTP2GO แต่สุดท้ายก็ไปทาง Postfix + Dovecot แบบทั่วไป
      เมื่อก่อนมีการคุยเรื่อง email setups กันที่นี่ อาจจะพอหาคำแนะนำสักหนึ่งหรือสองอย่างได้จากในนั้น
    • เคยใช้ Postfix กับ Dovecot แต่ไม่ได้ดูแลเซิร์ฟเวอร์เองมาเกิน 5 ปีแล้ว เลยไม่ค่อยรู้ว่ามาตรฐานทุกวันนี้คืออะไร
      ก่อนจะเลิกโฮสต์อีเมลเซิร์ฟเวอร์เองแบบถาวร ผมกำลังดู Roundcube เพื่อทำให้ประสบการณ์ใช้งานดีขึ้นอยู่พอดี แต่แล้วก็เจอ Fastmail และปล่อยมือจากทั้งหมด
    • อีกทางเลือกคือ ย้ายออกจาก DigitalOcean
      ที่นั่นพยายามจัดการพวกสแปมเมอร์ได้ไม่ดีพอ เลยมีชื่อเสียงไม่ค่อยดี ผมชอบ Panix ซึ่งโดยปกติจะบล็อกพอร์ต 25 ขาออก แต่ถ้าขอก็จะเปิดให้ และถ้าคุณเป็นลูกค้า ก็สามารถใช้เซิร์ฟเวอร์เมลขาออกของพวกเขาเป็น relay ได้ด้วย ไม่เคยมีปัญหาเรื่องการส่งเลย
    • OpenSMTPD ตั้งค่าง่ายกว่าทางเลือกอื่นมาก เลยคิดว่าเป็นจุดสมดุลที่ดีสำหรับ smtpd ใช้งานส่วนตัว
      อย่างที่มีคนพูดไปแล้วว่า DigitalOcean ไม่ใช่ตัวเลือกที่ดีสำหรับเมลเซิร์ฟเวอร์
  • เมื่อก่อนผมเขียน สคริปต์ Sieve ง่าย ๆ ที่เอาอีเมลซึ่งมี header List-ID ไปใส่ในโฟลเดอร์ของมันเอง ถ้าโฟลเดอร์ยังไม่มี ก็จะสร้างให้: https://gist.github.com/epilys/bf190ffb0147aa5ab863f7fa886a27da
    ข้อเสียคือค่า List-ID ของบาง newsletter เป็นค่าที่อ่านยากสำหรับมนุษย์ คล้าย UUID

  • ผมใช้ Thunderbird
    เรื่องการเก็บถาวร ฟีเจอร์ archive ที่มีอยู่ก็เพียงพอแล้ว เท่าที่ผมรู้ มันเก็บอีเมลเป็นไฟล์ข้อความไว้บนดิสก์ คุณสามารถตั้งรูปแบบการเก็บได้ เช่น โฟลเดอร์ตามปี หรือปี+เดือน
    ตอนแรกผมก็ทำแบบนั้น แต่สุดท้ายก็ตัดสินใจปล่อยให้ archive mirror โครงสร้างโฟลเดอร์ของบัญชีอีเมลไปเลย
    สำหรับ mailing list นั้น header List-Id ดีที่สุด ผมใช้มันเป็นเกณฑ์ส่งเมลไปยังไดเรกทอรีเฉพาะ ส่วน label นั้น Thunderbird รองรับ tag แต่ผมไม่ใช้ แค่มีโฟลเดอร์ปลายทางก็พอแล้ว
    ผมไม่ได้รีวิวแพตช์ผ่านอีเมลบ่อยนัก แต่ก็เคยใช้ SourceHut อยู่บ้าง ซึ่งปฏิบัติกับเวิร์กโฟลว์แบบอีเมลเป็นฟีเจอร์ชั้นหนึ่ง
    Thunderbird มีระบบกรองฝั่งไคลเอนต์ของตัวเอง และเข้ากับการใช้งานของผมดี เพราะเครื่องหลักแทบจะเปิดอยู่ตลอดเวลา เมื่อเวลาผ่านไปก็มีฟิลเตอร์สะสมเป็นหลายสิบอัน สำหรับย้ายเมลตามโดเมน โดยมากก็เป็น top-level domain หรือไม่ก็อิงตาม header List-Id ของรายชื่ออีเมล
    แต่เรื่องการซิงก์ของ Thunderbird นั้นแทบไม่มีเลย ในแทบทุกด้าน ทั้ง archive, เมล, การตั้งค่า, ฟิลเตอร์ และอื่น ๆ
    เขากำลังทำอยู่ แต่ครั้งสุดท้ายที่ผมเช็ก เหมือนจะโฟกัสกับการปรับให้ทันสมัยและรวม backend codebase ที่เป็นผลผลิตจากวิศวกรรมแบบบุกเบิกป่าเถื่อนมานานกว่า 20 ปี นักพัฒนาแต่ละคนก็ทำกันคนละแบบ ทั้ง SQLite, plain text, ไฟล์ JSON, ฐานข้อมูล mork ฯลฯ ก็ได้แต่ขอให้โชคดี :D