Who is awake, working on a mail client? 😀 reddit / selfhosted ---------------------------------------------------------------------- Independent_Till5832 · 2023-12-20 10:28 Thunderbird, Roundcube, Sogo Just to name a few ---------------------------------------------------------------------- boli99 · 2023-12-20 10:32 snappymail ---------------------------------------------------------------------- ascii158 · 2023-12-20 11:16 I just dumped thunderbird into an docker image and host that on kubernetes: https://github.com/toelke/docker-thunderbird ---------------------------------------------------------------------- worldcitizencane · 2023-12-20 12:08 What a quaint idea. ---------------------------------------------------------------------- iavael · 2023-12-20 12:43 It's middle of the day in Europe and evening in Asia. ---------------------------------------------------------------------- NikStalwart · 2023-12-20 13:19 The mailpile guy is (was?). Mail clients, like democracy, suck, but we don't have anything better. Thunerbird is arguably the only usable client thee days. Web apps are too restrictive in what they allow mw to do, including fudging email headers. ---------------------------------------------------------------------- ProbablePenguin · 2023-12-20 15:16 One of the huge advantages of gmail is you don't have to configure all your settings like signature, filters, formatting, etc on every single client. IMAP clients are neat and there are good ones, but they require completely setting up from scratch on every device. ---------------------------------------------------------------------- 2CatsOnMyKeyboard · 2023-12-20 15:20 I never quite understood desktop apps in Docker. You launch them from another server? Kind of like a remote desktop, but for just one app window? How does it work? ---------------------------------------------------------------------- 2CatsOnMyKeyboard · 2023-12-20 15:21 mail sucks in general if you ask me. But what would your ideal mail client look like? ---------------------------------------------------------------------- CmdrCollins · 2023-12-20 16:08 > How does it work? The underlying architecture on Linux (X11\*) hails from the golden age of (Unix-)Terminal servers and still allows for applications to be remotely rendered (*X11 Forwarding*). ((\* Wayland supports this as well nowadays, via *waypipe*.)) ---------------------------------------------------------------------- MegaVolti · 2023-12-20 16:22 How do you handle file attachments from the client side? ---------------------------------------------------------------------- xenophonf · 2023-12-20 16:33 The key thing to realize is that containers are just fancy portable apps, which are just fancy statically linked apps. So to answer your question, consider Thunderbird on your average desktop computer. It's an executable binary linked to a bunch of libraries. It reads configuration files. It reads/writes its own persistent storage. If you think the description so far sounds like PostgreSQL or MariaDB, and if you're used to running either of those in a container, you're most of the way there. You can mount your config files (email server configs and usernames and passwords and filter rules and whatnot) in your container. Same goes for your mailboxes. "But what about Thunderbird's GUI?" you ask rhetorically. Well, the details vary, but at the level we're talking, it's all basically the same. Your app makes an operating system call to open a connection to the display, whatever that is. The app takes input over this connection, and it tells the display what to draw. For web apps, that connection is a TCP socket in "listen" mode, the display is your browser, the inputs are HTTP requests, and the drawing commands are HTML. For desktop apps, that connection might be a bit of shared memory, the display is Wayland or GDI or Quartz or something, the inputs are some kind of event queue stashed in one corner of the shared memory pool, and the drawing commands work basically the same as HTML except in some kind of packed binary protocol like X11 or DisplayPDF or something (sorry, has been too long, can't remember all the variations). So to make the its GUI work, Docker just needs to let a containerized Thunderbird make that kind-of-like-a-network connection to the display. On Linux, it's probably a simple matter of mapping the character device file, FIFO special file, or Unix socket from wherever that lives on the desktop (e.g., `/tmp/.X11-unix/X0`) to the corresponding location inside the container. Portable apps work basically the same way, so now you understand how snaps and flatpaks work, too. ---------------------------------------------------------------------- BABAKAKAN · 2023-12-20 16:37 Definitely recommend checking out [Alps](https://sr.ht/~migadu/alps/). Don't forget to use `--theme` option. I love this webmail client. Super simple, and very fast. ---------------------------------------------------------------------- xenophonf · 2023-12-20 16:44 I've recently migrated from Exchange 2003 (yeah, I know) to Mail-in-a- Box, and I find myself using Roundcube instead of Thunderbird most of the time. I use Gmail and Outlook at work, but I have never liked Gmail and only really tolerated Outlook 97-2010. The latest version of Outlook sucks so bad. I really miss Emacs Gnus (and ViewMail to a lesser extent). Maybe I should set Gnus back up? ---------------------------------------------------------------------- xenophonf · 2023-12-20 16:48 Sadly, Microsoft doesn't support display forwarding in Windows containers, but [it did work at one point](https://www.withinrafael.com/2018/03/09/using-remote-desktop- services-in-containers/). ---------------------------------------------------------------------- sza_rak · 2023-12-20 16:50 Recently I came back to Thunderbird and set it up for all my accounts. I'm impressed how good it is now, although initial setup is not pleasant. I mean, it auto-configures most settings for popular email providers, but still has this confusing (IMO) separation of incoming and outgoing accounts setup. I was impressed how cool openGPG integration is - you can create new set of keys and integrate into your email account really easily - super smooth. ​ Btw. I just recalled that I used The Bat! email client long time ago, which was great, and Claws Mail for newsgroups. Wow. ---------------------------------------------------------------------- horus-heresy · 2023-12-20 18:23 I have explored many options but always fail back to my 24/7 Windows Machine with outlook and massive list of automatic rules that keep my sanity intact. ---------------------------------------------------------------------- djdole · 2023-12-20 19:16 Alpine No need to reinvent the wheel. ---------------------------------------------------------------------- djdole · 2023-12-20 19:22 Why rely on native support? VcXsrv or Xming work for display on MSWin. ---------------------------------------------------------------------- Nixigaj · 2023-12-20 20:29 For those of you wanting to self-host email, https://github.com/mjl-/mox is a really good and low maintenance email server with a integrated webmail and administration web-ui helping you set up everything. ---------------------------------------------------------------------- ascii158 · 2023-12-20 20:56 Not often. If I needed it, there is `kubectl cp`... ---------------------------------------------------------------------- ascii158 · 2023-12-20 20:59 If you look at the `Deployment` in the README, you see that I run a VNC server as aa sidecar. I can use the resulting Pod in a browser (I use the service directly, the service net is routed in my LAN, but I could also create an Ingress). ---------------------------------------------------------------------- xenophonf · 2023-12-20 22:17 I was talking about Windows apps running in Windows containers. Of course, it's trivial to connect a Linux app running in a container to a display proxy like Xming running on the Windows host. (That's all TCP anyway since Windows doesn't support Unix domain sockets.) ---------------------------------------------------------------------- PaleMongo · 2023-12-20 22:38 How is it updated? Will the image update internally (like jackett), or must we wait for you to do that. I like this in principle as it is shareable across all my devices, but updating is a trap. ---------------------------------------------------------------------- NikStalwart · 2023-12-21 01:15 My ideal client would look like it was written in the 90s. It would not have Material Design or any other modern design "concepts". It would have a three-panel view: folders, emails, and message (pre)view. It would have no pictograms or symbols, all buttons would be clearly labelled with what they actually do. So "Reply" instead of some psychedelic arrow. It would show email addresses instead of names by default. It would have a robust tagging system (Yes, I know tags are not part of the IMAP standard, but Google has spoiled me with Labels). It would show me relevant message headers 'at a glance' so I don't need to click four buttons to make sure the DKIM signature is intact or who it was mailed by. It should have a robust search system — so robust that NASA would want to hack my computer and steal it for themselves. It would allow me to write whatever I want in the "From:" field and let my SMTP server handle authn and authz instead of trying to enforce valid addresses client-side and force me to manually define 14+ aliases. It would have some kind of API I could use to integrate my client with my other software, such as an inhouse CRM or project tracker. It should have a nice threaded message view. It should allow me to use something like ublock origin to selectively (dis)allow loading remote content based on remote URL. It should respond with a virulent trojan to all requests for read receipts and, especially, message recalls. In fact, it should post all message recalls on a wall of shame. It should let me lock the mail client with a master password. It should use opportunistic e2ee. ---------------------------------------------------------------------- ascii158 · 2023-12-21 06:07 It is only updated when the image updates. But of course, you can include that into your CI/CD. Or I could schedule the image to be built weekly. ---------------------------------------------------------------------- jantari · 2023-12-21 12:14 > That's all TCP anyway since Windows doesn't support Unix domain sockets. That's not true at all, Windows has supported unix sockets for over 6 years now: https://devblogs.microsoft.com/commandline/af_unix-comes-to-windows/ ---------------------------------------------------------------------- xenophonf · 2023-12-21 14:26 I had no idea! Thanks for the correction. ---------------------------------------------------------------------- momsi91 · 2023-12-21 20:53 Yeah. Mail is really the one thing I haven't been able to find a good alternative to Gmail. Only the client, that is. The best thing about Gmail: the search function. Just archive any mail from your Inbox (despite stuff you really will never need again). Want to find that Mail anytime later? Just type something that was in the text anywhere, or an address, or a date .. and just find that mail in a split second. Also snoozing Mails is a thing I can't go without anymore. I'm a zero Inbox guy (God how I miss Inbox by Gmail). And all that seamlessly in a browser and on mobile. Never found anything that works that well. Thunderbird feels kinda sluggish, has way to many buttons and can't snooze Mail Roundcube looks and feels much nicer, but also can't snooze and search doesn't work as well (eben worse than Thunderbird). Posting here in hopes I get flooded with how stupid I am for not knowing about that one app ;) ---------------------------------------------------------------------- HoustonBOFH · 2023-12-22 02:07 >The key thing to realize is that containers are just fancy portable apps, which are just fancy statically linked apps. Which eventually means Docker is just another kind of snap... :)