1 पॉइंट द्वारा GN⁺ 2024-08-24 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Aerc Pine और Mutt की तुलना में काफी नया TUI ईमेल क्लाइंट है, लेकिन अब इसमें रोज़मर्रा के उपयोग के लिए दोबारा विचार करने लायक परिपक्वता और फीचर मौजूद हैं
  • :help और aerc-tutorial (7) जैसे man page आधारित help की वजह से बाहरी docs के बिना setup और key bindings जल्दी सीखे जा सकते हैं
  • अकाउंट wizard और ~/.config/aerc/accounts.conf की INI config file से manage होते हैं, और अलग-अलग servers के अलग folder structures को भी consistent तरीके से व्यवस्थित किया जा सकता है
  • TUI में मुश्किल माने जाने वाले HTML emails के लिए w3m, dante, :open, और MIME/header आधारित custom filters से display का तरीका adjust किया जा सकता है
  • Vim में compose करना, external address book, PGP, signatures, templates और attachment alerts को जोड़कर terminal-centric email workflow को flexible बनाया जा सकता है

Aerc की स्थिति और पहली छाप

  • Aerc एक TUI email client है और इसकी पहली release करीब 4 साल पहले हुई थी
  • Pine 1992 में और Mutt 1995 में release हुए थे, इसलिए मौजूदा terminal email clients की तुलना में Aerc काफी नया है
  • शुरुआत में Thunderbird से अपेक्षाकृत संतुष्टि थी और Aerc कुछ basic tool जैसा दिखता था, इसलिए इसका उपयोग नहीं किया; लेकिन हाल में दोबारा देखने पर यह रोज़ाना इस्तेमाल के client जितना mature और feature-rich लगा
  • neomutt को कई बार आज़माकर जल्दी frustrate होकर छोड़ देने के अनुभव की वजह से Aerc से भी लगभग कोई उम्मीद नहीं थी, लेकिन वास्तविक उपयोग उम्मीद से बेहतर रहा और अब तक इस्तेमाल किए गए email clients में यह सबसे enjoyable लगा
  • अभी यह कहना जल्दबाज़ी होगी कि यह दूसरे email clients से बेहतर है, लेकिन कुछ दिनों के उपयोग के नतीजे बहुत positive हैं

Documentation और built-in help

  • Aerc में :help command से access होने वाली built-in help है
  • tutorial quick setup के लिए ज़रूरी प्रमुख features और key bindings को संक्षेप में समझाता है
  • अन्य help pages भी application के अलग-अलग हिस्सों को छोटे और स्पष्ट रूप में cover करते हैं, जिससे बाहरी resources के बिना features सीखना आसान है
  • help documentation less में pipe होने वाले man page format में है
    • उदाहरण: aerc-tutorial (7)
    • यह TUI application के अंदर portable help system शामिल करने का तरीका है

Account setup और folder management

  • accounts को simple और intuitive wizard से add किया जा सकता है
  • wizard ~/.config/aerc/accounts.conf में नया account entry बनाता है
  • यह file INI syntax का उपयोग करती है, इसलिए पढ़ना और edit करना आसान है
  • account settings में IMAP/SMTP address, default folders, sender, sent mailbox copy location, header cache, folder sorting, archive, mail check interval, folder mapping file आदि शामिल हो सकते हैं
  • folders-sort

    • folders-sort किसी खास folder की automatic sorting को override करने वाला option है
    • specified folders दी गई order में list के top पर दिखते हैं, और बाकी alphabetically sort होते हैं
    • Thunderbird या Outlook जैसे graphical clients में यह नहीं देखा, लेकिन यह ऐसा feature लगता है जो हर email client में होना चाहिए
  • folder-map

    • folder-map email providers के अलग-अलग server folder structures को display folder names में map करता है
    • Gmail सभी items को [Gmail] folder के नीचे रखता है, कुछ providers Sent और Drafts को INBOX के नीचे रखते हैं, और दूसरे providers ऐसा नहीं भी कर सकते
    • server द्वारा दिया गया folder structure तब तक बदलना मुश्किल है जब तक email server को सीधे manage न किया जाए
    • Aerc mapping rules file से server folders को display folder names में बदलता है
      • single folder remap किया जा सकता है
      • folder और उसके सभी subfolders remap किए जा सकते हैं
      • सभी subfolders से prefix हटाया जा सकता है
      • folder conflicts से बचते हुए subfolders remap किए जा सकते हैं
    • इस feature से server structure चाहे जैसा हो, सभी accounts में consistent folder structure के साथ काम किया जा सकता है
    • GUI की तुलना में CLI से email manage करते समय ऐसी consistency खास तौर पर महत्वपूर्ण है

Email reading और HTML handling

  • email पढ़ने का अनुभव कुल मिलाकर सामान्य रहा, और असुविधा की मुख्य वजह Aerc खुद नहीं बल्कि HTML emails के करीब है
  • ज्यादातर multipart emails में plain text version, HTML version से पढ़ने में ज्यादा कठिन होता है
  • आम तौर पर meaning समझ में आ जाता है, लेकिन कभी-कभी content मिला-जुला दिख सकता है
  • Aerc इस समस्या को कम करने के लिए कुछ विकल्प देता है
    • w3m और dante के combination से HTML parser/browser के जरिए देखा जा सकता है
    • कुछ emails में generated output plain text version से बेहतर होता है
    • आखिरी विकल्प के रूप में :open का उपयोग करके default web browser में खोला जा सकता है
  • display method custom filters से configure होता है
    • filters ऐसे *nix pipelines हैं जिनसे message display होने से पहले गुजरता है
    • default filters plain text color handling, calendar items और HTML emails support करते हैं
    • filters MIME type पर set किए जा सकते हैं और specific headers से भी match कर सकते हैं
    • example configuration में text/plain=colorize, text/calendar=calendar, text/html=html | colorize जैसे items शामिल हैं

Email composing और address book

  • email compose करने का अनुभव बहुत अच्छा है, और Vim में mail लिख पाना एक बड़ा फायदा है
  • Address book integration

    • address book को Aerc के अंदर सीधे manage करने के बजाय external program को delegate करने की structure है
    • user address book program को भेजी जाने वाली search query specify करता है, और result relevant header fields के autocomplete में उपयोग होता है
    • default program abook है
    • testing के आधार पर abook non-ASCII characters वाले names support नहीं करता था, और German users से अक्सर emails exchange करने की स्थिति में यह limitation गंभीर है
    • पूरे emails से addresses parse करके abook में आसानी से import करने का तरीका भी नहीं था
    • aercbook भी आज़माया, लेकिन non-ASCII character वाली समस्या वही रही
    • इसके बजाय aercbook सभी header fields से email addresses parse करने का feature support करता है
    • emailbook-janet aercbook का rewritten version है
      • performance कम अच्छी है, लेकिन ASCII problem हल करता है
      • key binding से email select और parse करने के बाद सभी addresses address book में automatically add किए जा सकते हैं
    • emailbook-janet और aercbook पूर्ण address book से ज्यादा ऐसे tools हैं जो सिर्फ name और email store करके autocomplete संभव बनाते हैं
    • अगर ज्यादा powerful address book चाहिए, तो khard या similar solution, LDAP server जैसे options पर भी विचार किया जा सकता है

PGP, signatures, templates, alerts

  • Thunderbird के PGP/GPG support में सबसे असुविधाजनक बात अलग keychain का उपयोग करना था
  • Aerc के पास भी अपना keychain है, लेकिन यह optional है
  • default behavior GPG keychain को जस का तस इस्तेमाल करने वाला है
  • message signing के लिए specific key ID specify किया जा सकता है, या Aerc को email address से key खोजने दिया जा सकता है
  • सभी emails पर automatic signature लगाने का option और opportunistic encryption option भी है
  • अगर GPG setup सही है, तो PGP support बिना समस्या के काम करता है
  • General configuration features

    • Aerc हर account के लिए signature-file= से text file शामिल करने वाली signature support करता है
    • signature generate करने के लिए external command भी run की जा सकती है
    • email templates भी support हैं, लेकिन उन्हें detail में देखा नहीं गया है
    • mail subject में Re: की repetition को कई भाषाओं में intelligently हटाने की कोशिश करता है, और इसके लिए regular expressions का उपयोग करता है
    • regular expression को override या extend किया जा सकता है
    • empty subject check और attachment alert भी support हैं
      • empty subject check यह जांचता है कि subject खाली है या नहीं
      • attachment alert regular expression based है, इसलिए आसानी से extend किया जा सकता है
      • default regular expression ^[^>]*attach(ed|ment) है
      • > से शुरू होने वाली lines को exclude करके उन quotes को filter करता है जहां किसी और ने attachment का ज़िक्र किया हो
      • German emails के लिए regular expression में an(ge)?h[aä]ngt? शामिल करने तक extend किया जा सकता है
    • कुछ दिनों के उपयोग के बाद Aerc में well-polished feel बहुत मजबूत है, और यह ऐसा email client लगता है जिसे फिलहाल आगे भी इस्तेमाल किया जा सकता है

1 टिप्पणियां

 
GN⁺ 2024-08-24
Hacker News की राय
  • मैं Aerc को लंबे समय से रोज़मर्रा के mail client के तौर पर इस्तेमाल कर रहा हूं, और IMAP (Gmail आदि) के साथ इस्तेमाल करता हूं, लेकिन यह local mail directory के साथ भी अच्छी तरह काम कर सकता है
    नई key bindings सीखने के लिए अब उम्र ज़्यादा हो गई है, इसलिए मैंने Aerc key mapping को Vim-स्टाइल key bindings में बदल दिया, और अब बहुत सारे mails को बेहद तेज़ी से प्रोसेस कर पाता हूं
    मैंने Gmail और Imapfilter को ठीक से काम करने के लिए configure किया, और ऐसे filters भी बनाए जिनकी कमी मुझे मौजूदा mail clients में हमेशा खलती थी: मौजूदा sender के आधार पर filter ff = :filter -f "{{index (.From | emails) 0}}", समान subject वाले mails देखना fs = :filter -H subject:"{{.SubjectBase}}", subject में शामिल text से search fS = :filter -H subject: वगैरह
    अगर दिलचस्पी हो तो GitHub repository link कर दूंगा

    • Gmail integration के बारे में जानना है। mutt से करने की कोशिश की थी, लेकिन पूरा दोपहर इसमें नहीं लगाना चाहता था, इसलिए छोड़ दिया
      ऊपर से यह भी सुना है कि Gmail IMAP को चरणबद्ध तरीके से खत्म कर रहा है
    • यह पोस्ट देखकर aerc को फिर से आज़माने का मन हुआ, खासकर पहला filter ऐसा feature है जो मैं mail client में हमेशा चाहता था
    • https://github.com/rafo/aerc-vim
      attachment image preview भी जोड़ा है
    • खास तौर पर vim key bindings में दिलचस्पी है। वह हो तो शुरुआत करना काफी आसान लगेगा
  • mutt को गहराई से explore किया, लेकिन आखिर में इस निष्कर्ष पर पहुंचा कि graphical mail client मेरी ज़रूरतों के लिए बेहतर है
    Mutt/aerc Windows को support नहीं करते, जिसे मैं पसंद और काम—दोनों वजहों से बहुत इस्तेमाल करता हूं, और HTML mail देखने व भेजने में भी कमी है। सहकर्मी हैरान होते हैं कि मेरे mails अजीब क्यों दिखते हैं और reply formatting क्यों गायब हो जाती है
    Betterbird में mails को folder में drag-and-drop करना तेज़ है, और mutt के उलट, जिसमें ठीक-ठाक setup करने में काफी समय लगता है, यह तुरंत काम करता है। mbsync या offlineimap में OAuth support कमजोर है, जबकि Betterbird में यह built-in है
    ज़रूरत पड़ने पर Shift+click से plain text reply या compose भी किया जा सकता है। मैं लगभग terminal में ही रहता हूं, लेकिन इस मामले में बस इतना ही; RSS reader के तौर पर newsboat में किया गया investment अब तक ठीक रहा है
    1: https://www.betterbird.eu/
    2: https://news.ycombinator.com/item?id=39812124
    3: https://isync.sourceforge.io/mbsync.html
    4: https://www.offlineimap.org/

    • Aerc Windows पर भी build हो सकता है, ऐसा लगता है, और इसके लिए बस Go और make चाहिए। Betterbird भी कुछ हफ्ते पहले तक केवल MacOS support करता था, और जब पहली बार Mac build का प्रस्ताव दिया गया था, तो पैसे के मुद्दे पर उसे मना कर दिया गया था
      Aerc, जैसा लेख में बताया गया है, HTML mail देखना भी कर सकता है। mail move करना भी mouse drag से कहीं तेज़ key input से हो सकता है, और अगर वही folders बार-बार इस्तेमाल करते हैं तो और तेज़: pa = :archive flat, pb = :move Brain, pf = :move जैसे
      configuration mutt की तुलना में बहुत कम जटिल है, और OAuth भी अच्छी तरह काम करता है। Betterbird भी ठीक है, लेकिन मुझे यह पसंद नहीं कि मैं अपने keyboard shortcuts इस्तेमाल नहीं कर सकता
    • दूसरी और तीसरी समस्याओं को क्रमशः w3m mailcap entry या muttrc में set send_multipart_alternative_filter=markdown2html.py जैसी setting से कम किया जा सकता है
      https://gitlab.com/muttmua/mutt/-/blob/master/contrib/markdown2html
    • आजकल Windows में कुछ हद तक Hyper-V शामिल होता है, Linux VM चला सकते हैं, और OpenSSH भी default रूप से मौजूद है। सही environment बनाने के लिए थोड़ा tweaking चाहिए, लेकिन बहुत नहीं
      मैं केवल Linux इस्तेमाल करता हूं, लेकिन GUI पसंद करता हूं, और on-premises MS Exchange के साथ Evolution लगाकर इस्तेमाल करता हूं। दोस्तों और परिवार के लिए personal domain mail भी Dovecot, Exim आदि से चलाता हूं
      Betterbird के बारे में नहीं जानता था, लेकिन evaluate करने के लिए bookmark कर लिया है। कभी न कभी Exchange server छोड़ना पड़ेगा; M365 पर जाएं या नहीं, इस पर चर्चा का इंतज़ार है। 25 साल से ज्यादा mail systems चलाने वाले प्रतिनिधि के तौर पर मुझे लगता है कि आखिरकार Exchange को भी IMAPD, MTA और calendar app के combination से बदला जा सकता है
    • dodo शायद सही विकल्प हो सकता है। मूल रूप से यह graphical mail client है, लेकिन इसमें बहुत सारी Vim bindings हैं, इसलिए terminal और graphical के फायदों का मिला-जुला रूप है, और email के लिए qutebrowser जैसा लगता है
      हालांकि maintenance रुका हुआ लगता है और शायद यह केवल notmuch backend support करता है
      1: https://github.com/akissinger/dodo
      2: https://qutebrowser.org/
    • लेखक की राजनीतिक सोच पर सवाल हो सकते हैं, लेकिन मैं mutt-wizard इस्तेमाल कर रहा हूं, और उस setup में o की जगह सिर्फ v दबाने पर mail खुले हुए web browser में देखा जा सकता है
      HTML mail पढ़ने के लिए यह काफी ठीक था। हालांकि मैं इसे काम के लिए नहीं, सिर्फ personal use के लिए इस्तेमाल करता हूं, इसलिए हर व्यक्ति का अनुभव अलग हो सकता है
  • Gmail के 5 टैब और non-Gmail मेल के 2 टैब खुले रखने से तंग आकर इस हफ्ते मैंने aerc सेट किया, और Notmuch backend के साथ Gmail के लिए lieer तथा non-Gmail के लिए mbsync से मेल sync किए
    सेटअप करने और flow की आदत डालने में लगभग 12 घंटे लगे, लेकिन यह मेरे पुराने तरीके से कहीं ज़्यादा सुखद है। Firefox में Gmail का एक टैब 100MB से ज़्यादा खा जाता था, उसके उलट नया setup काफ़ी हल्का है, और local search भी तेज़ व अच्छी quality की है

    • अगर आप Notmuch इस्तेमाल करते हैं, तो bower की सलाह दूँगा। यह notmuch के साथ interact करने वाला terminal UI है, और इसे SSH के पार भी काम करने के लिए सेट किया जा सकता है, इसलिए notmuch DB किसी दूसरे कंप्यूटर पर हो तब भी attachments local machine पर खोले जा सकते हैं
      1: https://github.com/wangp/bower
    • notmuch ज़रूर आज़माने की जोरदार सलाह है। 2011 के आसपास switch करने के बाद कभी वापस नहीं गया
      client के रूप में Emacs इस्तेमाल करना ज़रूरी नहीं है; aerc समेत कई frontends हैं
      https://notmuchmail.org/frontends/
      उनमें शायद alot सबसे ज़्यादा जाना-पहचाना है
      https://github.com/pazz/alot
  • Terminal UI mail clients हमेशा आकर्षक लगे हैं, लेकिन शायद अब समझ आता है कि मन के किसी कोने में उनसे हिचक क्यों होती है
    terminal मेरी ध्यान लगाने की जगह है। गहराई से focus करने और वह असली काम करने का playground है जिसका मैं आनंद लेता हूँ
    mail देखना या लिखना Slack जैसी छोटी-मोटी व्यस्तता है, इसलिए उसे अपने terminal के अंदर नहीं लाना चाहता

    • मैं इसे थोड़ा अलग तरह से देखता हूँ। कोई काम जितना ज़्यादा chores जैसा लगता है, उस experience को बेहतर बनाने वाले tools की ओर उतना ही खिंचाव होता है
      ऐसे काम को अलग रख देना उल्टा उस काम से जुड़ी negative association को और मजबूत करता है। आखिर कभी न कभी सब निपटाना ही है, इसलिए उसे थोड़ा भी कम तकलीफ़देह बनाना बेहतर है, और कम से कम मेरे मामले में यह terminal में काम करने के फायदों को खराब नहीं करता
    • मैं भी ज़्यादातर चीज़ों के लिए terminal पर काफ़ी निर्भर हूँ, लेकिन terminal UI email और web browsing मेरे लिए कभी ठीक से fit नहीं हुए। यह बात ठीक-ठीक समझा देती है कि क्यों
  • आज email में जो समस्या दिखती है, वह modern और personal email tools के development की कमी से आती है
    यहाँ personal से मतलब ऐसी setup से है जो किसी और के mail server पर न रहती हो, remote IMAP को आसानी से download या sync करे या सीधे इस्तेमाल करे, personal homeserver IMAP रखे, और notmuch-emacs/mu4e जैसे search-centric clients तथा MailDrop जैसे अच्छे filtering tools हों
    टुकड़े पहले से मौजूद हैं। IMAPFilter और OfflineIMAP से sync किए गए mail को फिर से classify किया जा सकता है, या fetchmail और MailDrop से download किया जा सकता है, और Emacs का notmuch या Aerc इस्तेमाल किया जा सकता है। लेकिन ये सब अलग-अलग programs हैं जिनकी settings, style, documentation quality और friendliness अलग है, इसलिए कम geeky या non-expert लोगों के लिए कुछ भी नहीं है
    इसलिए बहुत से लोग email को webmail के बराबर मानने लगते हैं, और webmail को Slack या WhatsApp web जैसी third-party service की तरह स्वीकार कर लेते हैं। यह communication की freedom और email द्वारा दी जाने वाली power के लिए खतरनाक नजरिया है
    ISP की recurring bill को MailDrop rule से पकड़कर script चलाना, due date और amount को calendar में जोड़ना, फिर local accounting software में संबंधित transaction है या नहीं यह check करके गड़बड़ हो तो alert देना—org-agenda, BeanCount, MailDrop और email जैसे text-based tools से मुश्किल नहीं है। modern software से यह बहुत मुश्किल है, और उन संभावित power users के लिए बड़ा नुकसान है जिनके लिए आसान automation सीखकर implement करना बहुत लंबा रास्ता है या जिन्हें इस संभावना का पता ही नहीं है
    IT का जन्म जीवन को सरल बनाने और मानवीय cognition को विस्तार देने के लिए हुआ था, लेकिन दुख है कि लगभग सभी ने यह बात भूल दी है
    [1] mail file names की वजह से कई machines पर sync करने पर unread status या tags से जुड़ी दिक्कतें, duplicate messages बनना आदि अक्सर होता है

    • बड़े अक्षरों में लिखा PERSONAL वाकई बहुत अहम है। आजकल बहुत से लोग Gmail जैसी website में फँसे हैं, इसलिए उन्हें यह भी नहीं पता कि क्या संभव है
      email में मूल रूप से workflow, filtering, sorting, foldering आदि को 100% customize किया जा सकना चाहिए था
      पुराने tools अब भी काम करते हैं, इसलिए वह संभावना अभी भी है। बस यह और बताया जाना चाहिए कि email को उसके मूल इरादे के अनुसार इस्तेमाल करने पर वह कितना शानदार है। अगर मैं Gmail को ही email मानता, तो मुझे भी email से नफरत होती, लेकिन Gmail खुद email नहीं है
      procmail और mutt आज भी अच्छे से काम करते हैं
  • modern text-based projects मुझे सचमुच बहुत पसंद हैं। terminal को लगातार जीवित और अर्थपूर्ण बनाए रखने के लिए धन्यवाद

  • किसी को Emacs में mu4e से email पढ़ते हुए demo करते देखा था; HTML part को सीधे Firefox में pipe करके देखते थे, और कुछ हिस्से PDF में convert करके देखते थे
    https://www.youtube.com/watch?v=1uulLBKBMX8

  • aerc इस मायने में काफ़ी अनोखा है कि इसे mail को कंप्यूटर पर store करने वाले tool की बजाय client के रूप में design किया गया है। इसलिए performance impact और constraints हैं
    local mail भी इस्तेमाल किया जा सकता है, लेकिन मुझे वह second-class feature जैसा लगा; हालांकि यह मैंने काफी पहले देखा था, इसलिए अब अलग हो सकता है
    ऐसे design में IMAP को बेहतर चलना चाहिए था, लेकिन connection बार-बार टूटता था और दोबारा जोड़ने के लिए restart करना पड़ता था। neovim और aerc के बीच shortcut overlap भी असुविधाजनक था
    कुल मिलाकर संतोषजनक नहीं लगा। शायद settings में क्या छूट गया यह फिर देख सकता हूँ, लेकिन फिलहाल neomutt से ज़्यादा उम्मीद है

    • local mail directory के साथ इस्तेमाल करना निश्चित रूप से बेहतर है। मुझे लगता है ज़्यादातर mail terminal UI users पूरे experience को बेहतर बनाने के लिए इसे mbsync, notmuch जैसी utilities के साथ इस्तेमाल करते हैं
    • मुझे भी IMAP disconnects हुए हैं। थोड़ा जुगाड़ जैसा लगेगा, लेकिन मैं aerc को while loop के अंदर चलाता हूँ, और जब अजीब व्यवहार करे तो q से बंद करके कुछ seconds में फिर से खोल लेता हूँ
      फिर भी यह मेरा सबसे पसंदीदा mail client है, लेकिन साफ़ है कि यह और बेहतर हो सकता है
    • neovim और aerc के shortcut overlap से क्या मतलब है, यह जानना चाहूँगा। Vim keyboard की लगभग हर key इस्तेमाल करता है, तो क्या यह समस्या लगभग किसी भी program के साथ नहीं हो सकती?
    • सबसे अच्छे email user agent mutt में IMAP server connection fail होने पर automatic reconnect होता है। हालांकि लगता नहीं कि यह हर बार काम करता है
      https://lwn.net/Articles/837960/
    • क्या mutt के साथ भी यही बात नहीं है?
  • himalaya आशाजनक लगता है
    https://github.com/soywod/himalaya
    https://pimalaya.org/himalaya/cli/latest/index.html

  • कहीं भी यह समझाया हुआ नहीं दिखता कि “TUI” क्या है। इसे टेक्स्ट यूज़र इंटरफ़ेस माना जा सकता है