diff options
Diffstat (limited to '2022/talks/mail.md')
-rw-r--r-- | 2022/talks/mail.md | 153 |
1 files changed, 153 insertions, 0 deletions
diff --git a/2022/talks/mail.md b/2022/talks/mail.md new file mode 100644 index 00000000..e0a54386 --- /dev/null +++ b/2022/talks/mail.md @@ -0,0 +1,153 @@ +[[!sidebar content=""]] +[[!meta title="Revisiting the anatomy of Emacs mail user agents"]] +[[!meta copyright="Copyright © 2022 Mohsen BANAN"]] +[[!inline pages="internal(2022/info/mail-nav)" raw="yes"]] + +<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing --> +<!-- You can manually edit this file to update the abstract, add links, etc. ---> + + +# Revisiting the anatomy of Emacs mail user agents +Mohsen BANAN (MO-HH-SS-EN, he/him, <mailto:emacs@mohsen.1.banan.byname.net>) + +[[!inline pages="internal(2022/info/mail-before)" raw="yes"]] + +Actually, it makes very good sense to use Emacs as your Mail User Agent (MUA). +A dominant and fundamental aspect of +mail composition and mail processing is editing. And, if you live inside of +Emacs, of course you expect to have the +ultimate messaging environment. + +Over the years many Emacs MUAs have appeared. As of 2022, the following Emacs +MUAs are available to choose from: +Gnus, VM, WanderLust, Mew, mu4e, notmuch.el, mh-e and Rmail. + +Emacs MUAs can be used as Monolithic-MUAs (with elisp smtp and imap protocol +implementations) or as Split-MUAs (with external +smtp and imap protocol implementations). We make a case for superiority of the +Split-MUA model. +Recent evolutions of Gmail and Outlook towards requiring OAuth and our agility +to better address that +requirement based on the Split-MUA anatomy is one of our justifications for +converging +towards the Split-MUA anatomy. + +While what we are presenting here applies to all Emacs MUAs, our focus is Gnus. +Gnus is distributed with Emacs proper and is the richest and most potent MUA, +anywhere! + +We have wrapped all that is needed to use Gnus as a complete Split-MUA for +Unix-like environments in a package +called MARMEE (Multi-Account Resident Message Exchange Environment). + +MARMEE consists of a set of packages that span: + +- Deb GNU/Linux Packages +- PyPI Python Packages +- Emacs Elisp Packages + +plus everything that is needed to properly install these on Debian-like GNU/ +Linux systems and +integrate them with Gnus. By choice, we have limited our integration languages +to elisp, python and bash. + +MARMEE component packages include: + +- OuterRim-qmail (deb+PyPI) – Outer Rim oriented qmail, as a Resident Mail Submission UA. + qmail-remote is replaced by a python implementation which includes OAuth + awareness. + qmail-inject is replaced by a python implementation which is X822-Bus aware + (for DSN requests) +- offlineimap (PyPI) – as a Resident Mail Retrieval UA. + offlineimap includes OAuth awareness. +- notmuch (deb) – for searching +- gpg (deb) – for privacy and integrity +- flufl.bounce (PyPI) – for bounces and DSN (Delivery Status Notification) + processing. +- bisos.cs (PyPI) – BISOS CommandServices for configuration and secrets + management and integration. +- gmailOauth2.cs (PyPI) – For SMTP and IMAP authentication/authorization + through gmail.com + Used by qmail-remote for out-going and by offlineimap for in-coming OAuth + based mail. +- org-msg (EmacsPkg) – For HTML-composition in org-mode and for htmlized + citations. +- mcdt (EmacsPkg) – Mail Composition, Templating, Distribution and Tracking. + +The integration framework for MARMEE is BISOS (ByStar Internet Services OS). +Full integration of Emacs, MARMEE and BISOS is called Blee (ByStar Libre-Halaal +Emacs Environment). +The easiest way to use MARMEE is to install BISOS – which includes Blee. + +In this talk I will demonstrate what a wonderful environment the Split-MUA +model of Gnus+MARMEE can be. + +After walking through the concepts and the integration framework, I’ll walk +through transparent access to +multiple mail servers conveniently and show org-mode composition of BIDI emails +going out as html. + +My primary goal is to show that these packages can be integrated, but that +integration is not simple. +Furthermore, various improvements can be made to the packages to enhance the +complete integrated environment. +I’ll be enumerating my requests from relevant package managers. +If we were to collectively buy into something like this, we can greatly +simplify use of Emacs MUAs +with all mail systems – including the commonly used Gmail and Outlook. + +Of course, we should not be using Gmail and Outlook. Instead we should extend +Libre Software into Libre Services +and provide for edge-oriented autonomy and privacy in the services domain. +There is a services side to +what we have presented here. It is called “The Libre-Halaal By* (ByStar) +Digital Ecosystem” – <http://www.by-star.net/> +Perhaps that could be a topic for the next EmacsConf. + +For questions or comments, feel welcome to email me at: <mailto:emacs@mohsen.1.banan.byname.net> +# Discussion + +## Notes + +- great talk -- this is a **LOT** of info to ingest! +- link to book on polyexistentialism: + <http://www.by-star.net/content/generated/doc.free/mohsen/PLPC/120033/> + +## Questions and answers + +- Q:something I have liked about notmuch is using maildir makes + searching fast and the knowledge that you have all your email + period:) why gnus over notmuch. as a side note you also have + muchsync for notmuch clients and jmap for more exotic normal + clients. + - A: +- Q:So the idea is more about emacs as a holistic computing experiance + with other packages and services rather than about email specificly. + as an alternative to the something like the microsoft office suite? + - A: +- Q: Early on you expressed misgivings about the western copyright + regime, but you're using a GPL license. Is this a conflict? (great + work BTW) + - A: +- Q: Do you know of GNU Guix how do you think about using it for + packaging/configuring Emacs & your various packages else you might + look it up;) Or nix"os" + - A: +- Q:Is this being split up in a heavily configured server for emall + hosting and a thin client package for youl local client to integrate + with your emacs packages, maybe with a client thin docker container + for other packages like notmuch locally + - A: +- Q:Could you expand on the definition libre-halaal? + - A:(answered - capture TBD) +- Q: What is the scope of what you are imagining? Just software? + - A: (answered - capture TBD) +- Q:NFTs! + - A: (responded - capture TBD) + + +[[!inline pages="internal(2022/info/mail-after)" raw="yes"]] + +[[!inline pages="internal(2022/info/mail-nav)" raw="yes"]] + +[[!taglink CategoryMail]] |