- ประเด็นหลักคือเวิร์กโฟลว์การเก็บถาวรและจัดการป้ายกำกับของ อีเมลอินเทอร์เน็ต สำหรับผู้ใช้ที่สมัครหลายเมลลิงลิสต์และตรวจทานแพตช์จำนวนมาก
- โดยเฉพาะเป็นคำถามถึงผู้ใช้ Lobsters ที่สมัครเมลลิงลิสต์ 20 รายการ และผู้ที่ตรวจทานแพตช์จำนวนมาก
- ต้องการทราบว่ามีเวิร์กโฟลว์เฉพาะสำหรับการจัดการการเก็บถาวรและ ป้ายกำกับ หรือไม่
- ถามถึงเครื่องมือที่ช่วยได้มาก โดยมีเงื่อนไขว่าหากเป็นไปได้จะ prefer เครื่องมือ FOSS
- มีการยกตัวอย่างเฉพาะเจาะจงว่าใช้เครื่องมืออย่าง สคริปต์ Sieve หรือไม่
1 ความคิดเห็น
ความคิดเห็นจาก Lobste.rs
ชอบ Sieve มาก
ใน Roundcube ยังมีปลั๊กอินที่ให้แก้ไข Sieve ผ่าน GUI บน WebUI ได้ด้วย จึงเหมาะสำหรับค่อยๆ เรียนรู้ความสามารถของภาษา Sieve และถ้าจำเป็นก็แก้ไขไฟล์สคริปต์โดยตรงได้
ปกติจะสมัครแต่ละเว็บด้วยอีเมลแยกตามโดเมนเพื่อให้กรองได้ง่าย เช่น ใช้วิธีแบบ
lobsters@example.comไม่ได้ใช้ mailing list แต่ถ้าจะลองใช้ ก็น่าจะสร้าง inbox แยกให้แต่ละลิสต์ แล้วให้เมลไคลเอนต์จัดกลุ่มตามเธรดและแสดงเฉพาะข้อความที่ยังไม่ได้อ่าน
สำหรับสแปม แค่กฎพื้นฐานอย่างตรวจว่ามีวลีอย่าง "my salacious friend" อยู่ในเนื้อหาหรือไม่ และปฏิเสธ inbox ทั่วไปอย่าง
info@ก็เพียงพอมานานกว่า 6 ปีแล้ว และมีกฎแบบกำหนดเองแค่ 6 ข้อ ดังนั้นสำหรับการใช้งานส่วนตัวจึงไม่รู้สึกว่าคุ้มจะลงทุนกับ โซลูชันแมชชีนเลิร์นนิงอย่าง rspamdแม้จะเปลี่ยนเมลไคลเอนต์เป็นครั้งคราว แต่ตลอดหลายปีที่ผ่านมา เวิร์กโฟลว์การดึง-กรอง แทบไม่เปลี่ยนเลย
ตอนนี้กำลังประเมิน Gnus หลังจากใช้ mutt มานาน โดยใช้ mpop ดึงเมลจากเซิร์ฟเวอร์ของผู้ให้บริการ แล้ว pipe เข้า maildrop ก่อนจะเก็บลงในโฟลเดอร์
maildirใดโฟลเดอร์หนึ่งในไดเรกทอรีเมลแบบโลคัลจะไปโฟลเดอร์ไหนนั้นตัดสินโดยสคริปต์ขนาดใหญ่ชื่อ
.mailfilterและ mailing list จะจับคู่หลักๆ ด้วย headerList-Idตลอดหลายปีที่สมัครลิสต์มา ยังไม่เคยเจอ mailing list ที่ไม่ตั้ง header RFC2919 นี้เลยเมลส่วนตัวส่วนใหญ่กรองด้วย header
Fromส่วนสแปมผู้ให้บริการจัดการได้ดีมากจนไม่ต้องมีกฎเพิ่ม และมีหลุดเข้า inbox ปีละไม่กี่ครั้งจึงลบด้วยมือวิธีนี้แทบเหมือนเวิร์กโฟลว์แบบคลาสสิกที่อิง
procmailแต่ใช้maildropแทนprocmailตอนนั้นเห็นบทความว่าprocmailไม่ได้รับการดูแลแล้ว จึงมองหาทางเลือกและเลือกmaildropซึ่งเป็นส่วนหนึ่งของ Courier MTA แต่ก็ใช้แยกเดี่ยวได้ข้อดีของคลังเก็บเมลโลคัลแบบ
maildirคือสามารถใช้เมลไคลเอนต์ขนาดเบาหลายตัว หรือในศัพท์อีเมลคือ MUA ร่วมกับโครงสร้างไดเรกทอรีmaildirเดียวกันได้โดยไม่มีปัญหาคอนฟิกนี้น่าพอใจมากและพิสูจน์ตัวเองว่ามีประโยชน์มาหลายปีแล้ว สิ่งที่กังวลที่สุดตอนนี้คือแนวโน้มที่ผู้ให้บริการอีเมลจะเปิดให้ใช้แค่เว็บเมลอินเทอร์เฟซ และไม่ให้แม้แต่ POP3 หรือ IMAP ที่ทำงานปัจจุบันแพ้ศึกนี้ไปแล้ว ใช้ on-premises MS Exchange และวิธีเดียวที่จะอ่านเมลได้คือเว็บเมล ซึ่งแย่มาก
มีให้ใช้แค่เว็บเมล, 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 เลยอยากได้คำแนะนำ
เมื่อก่อนมีการคุยเรื่อง email setups กันที่นี่ อาจจะพอหาคำแนะนำสักหนึ่งหรือสองอย่างได้จากในนั้น
ก่อนจะเลิกโฮสต์อีเมลเซิร์ฟเวอร์เองแบบถาวร ผมกำลังดู Roundcube เพื่อทำให้ประสบการณ์ใช้งานดีขึ้นอยู่พอดี แต่แล้วก็เจอ Fastmail และปล่อยมือจากทั้งหมด
ที่นั่นพยายามจัดการพวกสแปมเมอร์ได้ไม่ดีพอ เลยมีชื่อเสียงไม่ค่อยดี ผมชอบ Panix ซึ่งโดยปกติจะบล็อกพอร์ต 25 ขาออก แต่ถ้าขอก็จะเปิดให้ และถ้าคุณเป็นลูกค้า ก็สามารถใช้เซิร์ฟเวอร์เมลขาออกของพวกเขาเป็น relay ได้ด้วย ไม่เคยมีปัญหาเรื่องการส่งเลย
อย่างที่มีคนพูดไปแล้วว่า 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