Hacker News new | past | comments | ask | show | jobs | submit | rightos's comments login

I just want everything colored as to hide the maximum amount of crud that tends to build up. Usually black.


I'm still using Thunderbird, which is barely maintained for a decent standalone IMAP client - it's beginning to feel pretty ridiculous. I was having some search issues the other day and I looked at alternatives - the options were basically Outlook, Claws Mail which is ugly as sin, eM Client which is Windows only and Mailspring which actually looked pretty good... right up until it asked me to make an account for use with my own IMAP servers - no thanks.

I didn't think this was a big ask but I guess now that most people just use a single Gmail account the market for such things is dwindling. Here I sit with 7 accounts in Thunderbird. Maybe I'm just going to be stuck with eM Client or Outlook and using RDP to check my email. I'm willing to pay, someone please give me a decent cross platform alternative with a GUI, ideally a proper, non-electron one.

The TUI clients I've looked at all seem to suffer from some mix of:

- Poor mail notifications

- Poor multi-account support

- Single maintainer that could disappear at any time

- Archaic keybindings, or perhaps I'm just too lazy to learn them

- HTML mail is used widely now as most people use webmail and just doesn't map well to console applications

Overall when I want my mail client to "just work" I've found them to be piss poor compared to Thunderbird. Which is beginning to seem rather silly, but it's still my experience.

I don't know what to do. Maybe I should fork Mailspring, strip out the account garbage and just tolerate Electron, but that'd create a whole bunch of maintenance work I just can't take on right now.


I have been using alpine (re-alpine before that and alpine before that and pine before that) for about 20 years and it ticks most of your check boxes:

- Email notifications just work. I get a bell on my terminal when a new email comes and my desktop environment (i3m) shows a highlighted xterm and a highlighted workspace so that I know that I have a new message.

- Excellent multi-account support. I have 4 email accounts and I can seamlessly move messages between them.

- It had a single maintainer who disappeared, someone else took over who disappeared, and now there is a new maintainer.

- The keybindings are relatively simple (n for next and p for previous) but the arrow keys and mouse also work.

- You can view html emails using w3m or lynx or whatever.

It supports standard features such as choosing your own editor to compose emails (default is nano, which is a successor of pico, which was the editor used by pine), filtering a message to a program (for example, to git apply patch), filter a message before sending, multiple ways to display threading, and so on. It has working support for signing and encrypting messages, decent support of reply templates. It has really really good documentation available in a context sensitive manner.

I sometimes feel that alpine/pine doesn't get as much love as other TUI email clients.


This is the exact reason I opted to donate $3 every month to Thunderbird, I got really scared when Mozilla abandoned it and even though it's slow, bad UI and all of that, it's the only GUI mail program which somehow works at all for my workflow. I also have 6 accounts and want to be able to work offline.


I couldn't agree more, and for the same reasons you've mentioned I end up coming back to Thunderbird, even though I'd like a TUI client.

I looked at this video about mutt https://www.youtube.com/watch?v=2jMInHnpNfQ which made me think about making a switch.

However can we really do better than Mutt. Mutt typically had issues with multiple accounts and moving emails between the two. I have been migrating away from Google and this is a handy ability (which thunderbird has). I was quite excited by Drew Devault's aerc client https://drewdevault.com/2019/06/03/Announcing-aerc-0.1.0.htm... so maybe that or meli might be the solution for me.

Really there are only 3 requirements for me:

* Be able to use Vim for editing (one of my major gripes in Thunderbird

* Be able to use markdown, ideally something like pandoc, in thunderbird I use Markdown Here https://markdown-here.com but that requires you to edit in rich text mode and then convert to markdown. This is really annoying because you end up with <br> and <p> in the wrong places and have to always convert back to "Body Text".

* Be able to sync my contacts from CardDav. I could not go back to having a non-centralized address book. Ideally such a client would benefit from https://www.etesync.com/ as well

* Calendars I don't think need to strictly be in a mail client. What's the usecase for that? MacOSX has Mail.app and iCal.app separate. Is this a hangover from the Outlook/Google design. https://www.calcurse.org looks pretty healthy, though they say their CalDav support is experimental.

* PGP support, WKD, OPENPGPKEY, AutoCrypt etc. Enigmail does a lot of things right.


Just looking at the requirements of both of you shows how hard it is to make a decent mail client.


Your needs would line up pretty well with switching to emacs/evil, orgmode and then one of the 3 good email clients.

Just remember its there when you are ready for it ;)


I’ve never really had issues with mutt: the lack of notifications is, from my perspective, a good thing because it means that I’ll handle mail on my own schedule rather than as it comes.

As far as multi-account goes, though, it’s relatively easy to setup in mutt, using something like isync and mu for archiving and searching.


On poor mail notifications and poor HTML support, those are strengths. Email is not a real time communication mechanism and most emails I receive I'd be happy to never be notified about, it's mostly just a deluge of unnecessary information. The same goes for html email, it's just an unnecessary intrusion into life from marketers obsessed with their branding over my convenience.

When everything on your phone and desktop is constantly seeking your attention it's nice to have some apps working for you.


I do support work for my small business via email, I need to know if a network is having problems, when a server goes down, if any users are having payment issues and jump in to fix these immediately if not sooner. A console ding as an email notification that I can't differentiate from pressing backspace one too many times is absolute trash.

Ideally I want Android-style reply in the notification level stuff.


Evolution mail and Geary, GNOME’s big and little email clients, respectively, are the best options right now. Both are great.


Geary looks great, i wanted to switch to it years ago (from Thunderbird), but it had no support for PGP – https://gitlab.gnome.org/GNOME/geary/issues/6 :(


I agree. Geary looks great and mostly works fine—I don't need extensions or calendars.

I did have an issue in early 2019 where parsing of contact names somehow got messed up, causing outgoing messages to not get sent. After a few productive days of sending emails I found twelve in my outbox that hadn't actually sent! I got scared and went back to Thunderbird after that, but I keep Geary installed and launch it from time to time to sync my mail.


Agreed, I've been really happy with evolution


> Poor mail notifications

Time for someone to write an Electron-based update to the venerable "biff"[1] program.

[1] https://en.wikipedia.org/wiki/Biff_(Unix)


> I'm willing to pay, someone please give me a decent cross platform alternative with a GUI, ideally a proper, non-electron one.

Have you tried Postbox? It's cross-platform Mac/Windows, native non-Electron (actually forked from Thunderbird long ago), supports multiple accounts, lots of keyboard shortcuts & paid non-subscription product developed by a company. I've been using it ever since Eudora died, it's the closest I've found to that Eudora power user workflow. It's a GUI app though, not a terminal app.

https://postbox-inc.com/


I appreciate that a lot of people use Mac and/or Windows, but calling it cross-platform and then excluding the third big platform option is I think missing the point.


Technically if it supports more than one platform it is already "cross-platform". It is not "every-" or "all-platform".


Technically true! What I said was that it was missing the point, not that it wasn't literally true :)


I'm kind of in the same situation, except that I've abandoned desktop mail clients since moving away from OS X. Mail.app had its problems, and seemed to be getting worse, but it's the only local mail client I've been able to tolerate for some time.

Now I just forward my IMAP accounts to gmail. This is horrible for many reasons (don't lecture me, I know), but I haven't been able to find a good solution and messing about with email is time-consuming.

I may just consolidate on Fastmail when my current IMAP provider subscription needs renewing. From a brief test a while back their web client seems to be on a par with gmail.


I have my gmail accounts forward to fastmail (And then filter). I've had this setup for years now, not sure exactly but easily 5+ years, and I'm super happy with it.

I do really wish I could find a better email client though, but Thunderbird is "good enough" for now. I don't get a warm fuzzy feeling using it, but I also don't rage at it not working constantly.


I was thinking of just using the Fastmail web app. I found it (like gmail) better than any current desktop email client I've tried.


If you're looking to consolidate your email the best way is imapfilter https://github.com/lefcha/imapfilter I use this LUA script (this is the Jinja2 template so obviously you'll need to substitute the portions in {{ }} with your real values. It runs on an hourly cronjob on my server and sucks down all the mail from Gmail and another account and then puts it in my main inbox via IMAP (not forwarding) so you don't have to worry about opportunistic transport encryption. It also does not mess with the headers which forwarding emails invariably does.

  -- crontab -e
  -- 0 * * * * /usr/local/bin/imapfilter

  function main ()

      -- See 'man imapfilter_config' for an explanation of
      -- imapfilter options and functions.

      -- Some config examples:
      -- https://github.com/lefcha/imapfilter/blob/master/samples/config.lua
      -- https://gist.github.com/dylanwh/408810
      -- http://www.npcglib.org/~stathis/blog/2012/07/09/linux-task-sorting-mail-with-imapfilter/

      -- General Options
      options.timeout = 120
      options.subscribe = true

      -- Accounts
      {%- for v in ACCOUNTS | from_json %}
      local {{ v.serverName }} = IMAP {
          server = '{{ v.server }}',
          username = '{{ v.username }}',
          password = '{{ v.password }}',
          ssl = '{{ v.ssl }}'
      }

      {%- endfor %}

      -- GMAIL
      -- Gmail behaves differently to normal imap. With a normal imap acccount
      -- you can simply use move_messages(). Google stores both inbox
      -- and sent email in the "[Gmail]/All Mail" folder. An email sent to yourself
      -- from the same email address exists as a single email and is visible in
      -- the Inbox and Sent box. If you delete the inbox mail then the sent mail
      -- is also deleted. Thus it is only safe to delete mail once both the Inbox
      -- and Sent box is copied.

      -- Only go ahead and copy inbox/sent/spam from gmail if I have received
      -- some Inbox email.
      if (gmail['Inbox']:check_status() > 0) then
          inbox_mail = gmail["Inbox"]:select_all()
          inbox_copy_success = inbox_mail:copy_messages({{ PRIMARY }}['Gmail Inbox'])

          sent_mail = gmail['[Gmail]/Sent Mail']:select_all()
          sent_copy_success = sent_mail:copy_messages({{ PRIMARY }}['Gmail Sent'])

          spam_mail = gmail["[Gmail]/Spam"]:select_all()
          spam_mail:move_messages({{ PRIMARY }}['Gmail Spam'])

          -- Only clear the All Mail folder if we were successful in moving
          -- our Inbox and Sent mail. Note: move_messages is supposed to return
          -- booleans for copying the messages and then marking them as deleted.
          -- For some reason the mark for deletion return value is 'nil'.
          -- This may need to be [Gmail]/Bin or [Gmail]/Trash check your account!
          if (inbox_copy_success and sent_copy_success) then
              print('Safe to delete both inbox and sent')
              move_inbox = inbox_mail:move_messages(gmail['[Gmail]/Trash'])
              move_sent = sent_mail:move_messages(gmail['[Gmail]/Trash'])

              if (move_inbox and move_sent) then
                  print('Emptying bin');
                  bin_mail = gmail['[Gmail]/Trash']:select_all()
                  bin_mail:delete_messages()
              end
          end
      end

      {%- if SECONDARY != '' %}
      -- {{ SECONDARY }}
      -- Only go ahead and copy inbox/sent/spam from {{ SECONDARY }} if I have received
      -- some Inbox email.
      if ({{ SECONDARY }}['Inbox']:check_status() > 0) then
          inbox_results = {{ SECONDARY }}['Inbox']:select_all()
          inbox_results:move_messages({{ PRIMARY }}['{{ SECONDARY }} Inbox'])

          sent_results = {{ SECONDARY }}['Sent']:select_all()
          sent_results:move_messages({{ PRIMARY }}['{{ SECONDARY }} Sent'])

          spam_results = {{ SECONDARY }}['Junk']:select_all()
          spam_results:move_messages({{ PRIMARY }}['{{ SECONDARY }} Spam'])
      end
      {%- endif %}
  end

  main()


Looks good (thanks), but my days of running servers for anything are long gone. My tolerance for anything sysadmin-related has reached very close to zero.


> Looks good (thanks), but my days of running servers for anything are long gone. My tolerance for anything sysadmin-related has reached very close to zero.

You don't technically need a server.

It's a very simple, single binary that runs on a cron job with no dependency other than lua. I do it on a VPS instance that I have, but there's no reason why you couldn't run it locally.


I'd really recommend you take another look at Mutt, or Alpine if you're more into pico/nano than vim as editors. It's the best tool I can think of for dealing with large quantities of mail.

* Notifications can be configured to do pretty much whatever you want (by invoking a command when new mail arrives)

* Multi-account support works well (currently have it hooked up to my personal and work accounts simultaneously)

* Developed by a community

* The visual component of HTML mail is irrelevant 99% of the time. A reasonable textual interpretation can be generated by piping the message through `w3m --dump`, a process which can happen automatically inside mutt when viewing those messages with no action required on your part. If you absolutely must see the formatted message with images and such, this is only a keystroke away.

There's a lot of initial configuration to do, granted, but you only need to do it once. Then you stick your mutt directory up on github or similar, and never need to do it again. Setting up a new or different machine is a clone away.

You can learn the initial keybinds in a couple hours (it's a lot simpler than vim), and I think you'll be blown away once you get proficient at it.

This may be a bit extreme, but after many years, I think all GUI mail clients suck. Email is primarily a textual medium at the end of the day.

That, and Mutt's the only thing I can think of where the expected features of a mail client work with reliability. Putting up with Thunderbird's speed/stability or Outlook's stability/searching isn't something we should have to do in 2019.


> I'd really recommend you take another look at Mutt

I think I will do that.

> Notifications can be configured to do pretty much whatever you want (by invoking a command when new mail arrives)

My understanding was that was pretty trivial to have going using notify-send and aplay

https://neomutt.org/feature/new-mail

> Multi-account support works well (currently have it hooked up to my personal and work accounts simultaneously)

Admittedly when I looked at it was pre neomutt days, I seem to remember there being a special sidebar patch that upstream refused to use.

https://www.youtube.com/watch?v=mPiQuWbF57M Mutt Wizard Published on Apr 25, 2019

In that video he demonstrates a loose script that he's developed https://github.com/LukeSmithxyz/mutt-wizard, it might be a good way for me to dip my feet in it and learn about all the components.

https://www.youtube.com/watch?v=hvc-pHjbhdE he did a video on calcurse too..

Sorry for the gaudy 4chan-style meme stuff. That's not my thing either but the videos are very succinct and he seems to be a good speaker.

> Developed by a community

Yes, this important to me and more likely to make me help out.

> The visual component of HTML mail is irrelevant 99% of the time. A reasonable textual interpretation can be generated by piping the message through `w3m --dump`, a process which can happen automatically inside mutt when viewing those messages with no action required on your part. If you absolutely must see the formatted message with images and such, this is only a keystroke away.

Very true, most of the email i receive is plain text, sometimes its not, but with minimal formatting. Theoretically it should be possible to view these HTML emails in Firefox should it not?

> There's a lot of initial configuration to do, granted, but you only need to do it once. Then you stick your mutt directory up on github or similar, and never need to do it again. Setting up a new or different machine is a clone away.

This.... the main reason I like plaintext configs.


Also, the default IRC message compose in Thunderbird is white text on white background.


There's also Mailpile, which is GUI (webapp) but FOSS self-hostable.

https://github.com/mailpile/Mailpile


How's the multi-account and desktop notification support in it? I can't find a lot of details on what it does, but there's a mailpile-desktop package that seems potentially promising?


I still find Opera Mail works best, even though it is unmaintained. It has superfast search and not as sluggish as Thunderbird.


With Opera mail you can create many Bayesian filters to categorize your inbox. The obvious category is spam, but you can also have it automatically categorize into business clients projects offers family etc, each type of newsletter can have its own category.


"I was having some search issues"

This can be easily fixed. Try using Evolution for a while and you never complain about search issues with Thunderbird. In fact, you will praise Thunderbird for its search features. If still something is lacking, install recoll on your system to find stuff.

I would pay for an email client too.


I think you might want to trial the Thunderbird-powered Postbox https://www.postbox-inc.com/


If you’re on Mac, Mailmate might be what you’re looking for.


I almost had to check to see if this wasn't posted by me, right up to the no thanks with respect to Mailspring requiring an account.

and I'm right there with you about being willing to pay. Thunderbird is what I use, but I'm always asking myself if there's a better way.


Thunderbird has a big problem - UI still looks like written in 90's. I'm switched to Geary, good Apple Mail clone.


For email, designed like it's the 90s is a good thing, in my opinion. Thunderbird could do with a bit of polish, sure, but it has every option under the sun. I tried Geary once, it looked shiny, but the interface was far too basic.


Of all problems Thunderbird has, the look and feel of the UI is the least of my problems actually. Maybe it's just how I use mail, but probably like 90% of interaction with the UI is that white space where I read and type email text. I don't really care, or even notice, what's shown around that white space.


Why is barebone UI a problem? What feature a UI looking like it's written in the 90's is preventing?


That's a feature, not a bug.


WebRTC options are improving, check out

https://github.com/ant-media/Ant-Media-Server


Well I was hoping to not have to use a commercial product. From the front page, "Ultra Low Latency WebRTC" is supported only in the Enterprise Edition. I may as well use Flash.

"8-12 seconds End-to-End Latency" for community edition.

Actually a commercial product is not necessarily a problem, but the monthly fees are. If there was a one time fee version (perhaps with limited number of clients or something), then this might work.


I used jsmpeg to live stream camera feeds from robots. There are a few others that do the same. In my case I wrote a custom go server to handle the multiplexing. It did fairly well, and was able to support something like 60 clients at a time. This was a weekend project and I don't have time to keep the reobots on line so I will leave you with some video of a early client I build. There are some other videos showing the robots off on my channel.

I also poked a round with making a real time remote desktop client that could be access via a web browser for linux. It to -- at least on local lans got very low latency video. The link for that is below too.

- https://www.youtube.com/watch?v=7kSbm-IQjK0

- https://www.youtube.com/watch?v=JJ_srz7Ti8Y

Edit: I should mention latency were measured in ms, not seconds, even for many clients. I am sure to scale out to 1000's of users I would have to add a bit, of latency but not by much.


Oh yeah, I saw that. I'm also hoping to be able to use the h.264 compression hardware built into the SoC we're using and it was my understanding that jsmpeg was MPEG1 only.

That being said, the ffmpeg solution is not using the hardware accelerator either, even though it does support MJPEG. But I think with work we can get a gstreamer based solution: the missing part is an equivalent of ffserver that works with gstreamer. The hardware vendors like to provide gstreamer plug-ins for their accelerators.

Also, it's weird to me that this needs a giant javascript client library. What about the HTML5 built-in video support?


If you are using mpeg1 you can just dump the packets on the line. And if you want to get fancy you can read in a HQ stream and setup a beefy server to run 3 or 4 conversions to different bandwith classes and move clients up and down as required.

My code is geared to robots -- and has not been updated recently but there is at least a example of the simpler multiplexing in go.

https://github.com/mbrumlow/webbot


Cool, I'll try it.


I'm not sure why the 2 options being offered here seem to be either Airpod-style non-sealing hard plastic or full on over-ear cans. What about standard IEMs with better sealing silicon tips? Or the foam variants sold by Comply and similar? Wouldn't that better allow you to isolate external noise and listen at a lower volume than the separate cans? Especially for public transit use cases they'd seem to be better, unless I'm missing something?

You should also factor in diminished enjoyment - if you're worried about bothering your neighbor by turning up the volume and are just keeping it lower out of courtesy, well, that's not really an ideal scenario either, especially if you have to put up with barely hearing what you're listening to as a result.

Additionally, many of the products being suggested here are not really rated very well and would be hard to suggest to someone listening on even using cheap stuff like the Philips TX2. I don't understand how these can be recommended by any reasonable measure.

$30 https://www.innerfidelity.com/images/PhilipsTX2.pdf

A few suggestions from the article, $50 and $200+ https://www.rtings.com/headphones/1-2/graph#617/2085/463


After using in ear headphones for a few years I started to develop fairly bad ear wax problems. Like, my ears would become completely blocked and I would have to go have them cleaned by a specialist. YMMV but putting things deep into your ear canal isn’t necessarily a good idea.


Yeah, Google needs to make this move on Android. If they're just say "okay, if you want Android 10, you need to provide your drivers in this exact ABI way, no more custom software crap, we push the updates", that'd be awesome - basically, use the Windows model.

I believe the only reason they didn't do this out of the gate is because device manufacturers wouldn't have signed on for it. Android is establish enough at this point that it's not like many device manufacturers could really step back from it at this point.

Treble is a strong step in this direction - but they need to take it farther, open up customization APIs and drop the garbage manufacturers pump into devices. The way Treble is right now it only benefits power users who have their devices rooted - who could update without the manufacturers permission anyways.

I wonder if their only hesitation at this point is the mess they're making with ChromeOS and all their other garbage... I think the Android roof was the right one to bet on, massive numbers of users with primary devices running it, but I fear they've done significant damage with their other offerings.


There were some statements that they were updating the Play Store contracts to impose this, specially after GSI.

Because the uptake from IO to IO has been diminishing, as Android is already good enough for the purpose of selling phones, so most OEMs aren't even bothering with Treble (Android 7+) for new devices, other than flagship ones.

So Google is now forced to do exactly that if they want OEM to actually care about new versions.


Isn't iPad market is shrinking or staying the same? Not growing by much certainly. And the Surface line pretty much succeeds primarily on the more laptop style models as far as I've seen at least.


A tablet and dock is clumsy and a poor experience compared to a laptop in both hardware and software. I would never consider replacing a desktop OS with iOS or Android in their current states, I think Samsung did some work to improve multi-window support so perhaps that's worth a look, but I don't want a sloppy keyboard that folds randomly when I'm trying to type or I can't position comfortably on my lap on a car, bus or while sitting outside.

After owning a few older iPads and Nexus tablets, I haven't used them in years, instead preferring to do content consumption on my phone or TV and anything more on a full PC. Most people say they even prefer to do basic shit like shopping on PCs - easier to comparison shop, bigger screens, more capable machines and user interfaces. This situation isn't going to improve for tablets, they're trying to hit on a niche that's quite limited.


I don't think you can come up with a quality test for economic scenarios in a truly scientific way, many monopolies dominate for very different reasons, many industries have very different mechanics, and worse, regulations are often implemented in vastly different ways and often won't come out the way you'd like them to even if you have a perfect scientific answer to a given problem.

You can't guarantee or even approximate a given input and output for a scenario like this.


I'm not sure I quite understand, but it's certainly possible the equations that govern economics are sensitive to initial conditions. In that case we will never know enough to specify the initial consitions entirely.

But we also don't need to specify initial conditions exactly to do science.

I'm less convinced that the equations themselves are unknowable.


We also won't be able to specify the outcome precisely even if we somehow had a guaranteed outcome in mind.

Politicians will screw up the implementation, businesses will engineer around it and the alternative solution might ultimately come out to be a better one in practice than in theory.

Trying to define economics by simple equations which you expect to define policy is a lost cause.


Note that most of the research referenced there isn't properly controlled - it's sort of hard to control for something like that, you'd have to have a therapy that could offer something comparable without matching it, so comparing it's effectiveness to placebo seems in some ways quite apt.


It's not forgetting where they are, but forget why they are where they are - I've had this happening occasionally in a variety of forms.


How good is your diet? Does it provide all the needed macro and micro nutrients for your body to work effectively?


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: