Penguin Mail – open-source Rust email client for Linux with AI
penguin-mail.com
penguin-mail.com
A mail client is always a tough thing to get right so I'm glad you're working on one
I love then idea that as the total cost (time/money/attention) of personalizing software continues to come down, more people will be able to encourage a diaspora of options, tailored to each niche.
This is one of those types of app that really benefits from a proper menubar with several top-level menus so the user isn’t stuck spelunking submenu tunnels.
Example:
"Penguin Mail – open-source email client for Linux with AI, written in Rust".
Its important, or people might miss the most interesting/important thing about your software.
I wouldn't say it's something that can be vibecoded in a month or two. Proper design and implementation take time if you want to handle accounts with hundreds of thousands of messages seamlessly.
I like the idea of a native Linux email client. The UI looks pretty good too. It's really not hard to beat thunderbird.
Calling it version 1.0 is bullshit though. It's only about a month old: https://github.com/c9dev/penguin-mail/graphs/contributors?al...
A project with the complexity of an email client cannot be considered stable in a month. There are bugs that will only show up after a year. It has a calendar after all.
2. Seems odd to assume instability by default without evidence.
If so, I'd love to hear a writeup!
It's missing some features that are dealbreakers for me, but I haven't found anything unstable yet.
I don't understand this mentality. It's an email client. There's not a lot needed UI-wise to make a functioning interface. Display a list of emails, show the full message when you open it, etc. I don't see anything functionally different between this email app and basically every other one I've ever used.
You've either got insane standards or are using email way different than I.
But from a normal user's standpoint? I don't care. If my email client needs more than a single thread, something's fucked.
I randomly bounce between Thunderbird and KMail and honestly I can't tell the difference except cosmetically. Both are snappy. Neither crash. Both send and receive emails just fine.
I know things like that don’t bother some folks and that’s fine, but others like myself can’t turn the visual parts of their brains off and so some software feels like nails on a chalkboard to use.
There is a case to be made to always start at 1.0, especially libraries with public API’s. The reason is that if you use semantic versioning then below 1.0 you can’t properly declare a new release to be a feature or bugfix release (for example, 0.4 to 0.5. Is this bugfix or feature?). Above 1.0.0 this is easy (for example 1.1.0 vs 1.0.1).
Naturally, the users should treat those libraries as beta versions and only use them in production at their own risk.
> you can’t properly declare a new release to be a feature or bugfix
0.5.0 vs 0.4.1?
Also it is made by pivotd ? What is it ? What is the end game ?
Genuinely curious as I am in the mail space with klar.im
- can’t choose a sender email?! This is major dealbreaker, if you have many aliases or domains.
- no favico for emails, this is also a deal breaker for me, as I used it to quickly skim and find or check new emails.
- folders orders is messed up, trying to arrange them made it worse
- trying to color a folder and it says “server doesn’t support that”
Also the UI needs more polishing overall.
I'll stick with the web UI in that case. Are you using any other clients on Mac or Linux?
Ugh, this drives me nuts. It's the same reason why I stopped using my Supernote Nomad for email.
I use iCloud+ email with a custom domain. With that arrangement you authenticate to Apple's servers with your iCloud "primary address", like someone.somename@icloud.com. Then you can send and receive email with your custom domain email address, which is the one you're actually using. But not with Supernote, or apparently Penguin Mail. My Nomad will only send mail with my @icloud.com address, even though that's only used for authentication.
So yeah, I just stopped using it altogether. That's not my address. It's not how people reach me. It's literally just a username.
As long as it tries to be the "I" in "AI" and do something useful like automatically detect conversations with my accountant, per project and not per sender mails including somehow labeling mails referring to multiple projects with multiple labels etc.
Not that I think this mail client can do that...
Drafting emails with LLMs is... ugh.
And assistant chat? Really?
Okay, two things might be great: translations (preferably local, e.g. using Project Bergamot) and message summary (in case somebody does send an unedited blob of LLM slop to me and social dynamics don’t let me send it to spam).
Can this be compiled for other operating systems than Linux?
(This used to come at the cost of code quality, but increasingly does not.)
1. Install the GTK stack:
pkg install gtk4 libadwaita webkit2-gtk_60 pkgconf
2. FreeBSD ships WebKitGTK 2.46.6 and the project turns on the v2_50 feature of the webkit6 crate, so switch that to v2_46: sed -i '' 's/v2_50/v2_46/' $(git grep -l v2_50 -- '*Cargo.toml')
After that, cargo build completes against 2.46.https://terminaltrove.com/herald/
https://terminaltrove.com/matcha/
And this is the one I use with Gmail, Outlook, Yandex:
For people that want a terminal client with tabs, integrated html viewer(including images), markdown compose, MCP, with unified inbox, I built notmutt.
Sorry for the off-topic, but Google (and all ad networks) should be legally required to vet their advertisers. That's gotta be the worst I've seen.