logoalt Hacker News

Penguin Mail – open-source Rust email client for Linux with AI

176 points • by kavourias • yesterday at 9:59 PM • 104 comments • view on HN

Comments

nsagent • today at 4:01 AM

Went to watch the Youtube intro [1] for Penguin Mail and was greeted by the most egregious scam video. Didn't click the ad, but simply went to the domain (usbest1.com) and it's just chock full of AI generated content hoping to scam you out of your money. Going through the checkout flow, it even asks you if you want to tip your driver (presumably for delivery).

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.

[1]: https://www.youtube.com/watch?v=0PyJCsw1FSE

➕ show 5 replies
jttnr • today at 6:49 AM

The thing with all these vibe-coded email clients is: how well do they sanitize the full-content view of HTML emails? Thunderbird and the like go to great lengths to make viewing those emails safe, e.g., by preventing inline JavaScript and all kinds of tracking techniques (pixels, CSS references, etc.). Without having checked, do these vibe-coded clients just render the HTML in a WebView, or do they have similar protections in place?

➕ show 2 replies
slipheen • today at 12:22 AM

That's a very nice looking app - I like the look of it it gives me Mail.app vibes.

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.

➕ show 3 replies
danielspace23 • today at 8:41 AM

I've been using Aerion (https://aerion.3df.io) for a few months now, it's another mail+calendar+contacts app for Linux that is largely vibecoded. I haven't tested Penguin thoroughly yet, but I think Aerion is more feature rich, and has served me well over the months.

Why am I not using Thunderbird? Aerion's UI is much better, and most importantly snappier, especially on my older laptop.

mburns • today at 2:00 AM

Interesting that they call out Fastmail as a supported provider, but don't support JMAP. Seems like that would have been an easy stretch goal for Claude, and a good way to stand out amongst the competition.

➕ show 2 replies
wewewedxfgdf • today at 1:37 AM

The industry standard wording is to suffix the headline with "written in Rust".

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.

➕ show 2 replies
tlhunter • yesterday at 11:46 PM

Does anyone remember Sparrow?

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.

➕ show 4 replies
janilowski • today at 7:15 AM

Nice UI but untrusted email messages is something I'd rather open in [an uglier app with decades long reputation for being reasonably secure](https://www.thunderbird.net/en-US/)

➕ show 1 reply
pprotas • today at 6:08 AM

“With AI” means they have a built-in assistant (which no one wants), rather than exposing the functionality through MCP.

➕ show 1 reply
aboardRat4 • today at 5:30 AM

All other email clients are crap, but instead of helping them, more half-baked attempts to reinvent the bicycle.

➕ show 2 replies
rjzzleep • today at 3:33 AM

I think this looks good, but I'm not on a Mac anymore.

For people that want a terminal client with tabs, integrated html viewer(including images), markdown compose, MCP, with unified inbox, I built notmutt.

https://fishman.github.io/notmutt/

➕ show 1 reply
gorgoiler • today at 7:04 AM

“Email client” is an interesting puzzle. Email involves multiple activities:

Viewing: I have a message or messages stored on disk in files or mboxes or a maildir. How do I render them? Example use case is evidence in a law suit or, more likely, emails I’ve put in a shared drive to help me and my partner argue with our landlord. Yes, I could just have a Gmail folder for these but I don’t want to have one foot in a file-filesystem and one in a mail-filesystem. I want “lease_2024.pdf” and “20240401_deposit_confirmation_002.eml” to both be files. But then of course we have…

Filesystem interface: Emails have important attachments with MIME file names. Or perhaps a more keen observation is that some named files have emails as attachments! I’d like to symlink into a virtual FS that keys files off a UUID / Message-ID, and be able to mount that virtual FS from any mail store I have available (Gmail API, JMAP, IMAP, .tar archive, mbox, maildir, or .eml files.) Most conversations I have with people don’t involve files, and most files don’t involve conversations, but when they do I want them to feel natural and not some kind of special category of filey-messagey thing that doesn’t play well with plain files or, less commonly, plain messages.

Composition and sending: Creating a new message involves making a new file and then using that file to drive a sending API. I want to compose a beautiful email using a tool that is good at that job. Maybe I’m using vim to draft it in markdown with macros and tools to machine build certain complex parts? I also need some mime aware tooling — sometimes — to help prepare a bunch of attachments that may or may not have names related to their names on disk! I want all of this to be scriptable, on the occasions when it’s complex (30 part message for a client’s loan application!) and easy when it’s ad hoc (to: mom, see cat.jpg).

Search: email is notoriously the extension of and replacement for my long term memory. I have gathered message history from many sources and accounts over the years. I need to manage these into packed archives for the old ones, editable archives for the current ones, promote the former to the latter, and arrange new messages into the system. This feels like another separate tool.

I’m sure there are other potential tools lurking here as well. Separate rendering, composition, sending, receiving, searching, and archiving, feels like the goal. Most new email apps I see try to implement all of the above in one new package when, really, it would be great to see innovation on each branch of email as separate tools.

My PDF viewer doesn’t need to innovate on file browsing! My SVG drawing tool doesn’t need to innovate on mounting remote filesystems via SSH!

tamimio • today at 1:15 AM

Tested on fastmail, here’s few notes from 10min impression:

- 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.

➕ show 3 replies
nha1 • today at 2:32 AM

I was wondering what “with AI” means and the page doesn’t really answer that thought the README does. It drafts replies.

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

harisamin • today at 8:20 AM

wow that looks super polished!

hedgehog • yesterday at 11:47 PM

This is interesting, I am doing an experimental effort with similar goals. What is your approach to testing? The bug surface of something like this is quite large. Also, do you have a plan for sandboxing?

➕ show 1 reply
ranger_danger • yesterday at 11:57 PM

Surprised to see a new (large) GTK app, especially in Rust.

Can this be compiled for other operating systems than Linux?

➕ show 1 reply
h4kunamata • today at 12:03 AM

I was 100% interested until crossing "...with AI".

➕ show 4 replies
williamhm • today at 3:14 AM

Is it perhaps because of the application speed in Rust?

mal10c • today at 1:09 AM

Got this building on FreeBSD for those interested:

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.
kavourias • yesterday at 9:59 PM

[flagged]

sehw • today at 3:58 AM

[dead]

d3Xt3r • today at 3:49 AM

Yet another GTK4/libadwaita, no thank you. I mean, if you're going to use Rust and vibe code thing, why not use a more sensible, Rust-native UI like egui?

lasiotus • today at 1:22 AM

Is there anything like this but in TUI?

➕ show 2 replies
dvno42 • today at 12:18 AM

Maybe I'm not the target here but an embedded chat ai window is a huge turn off to me. Having a CLI I can give my own agent to access/query the data, if I choose to do that, would have been preferred but if the target was my mother, then a chat window is probably a better option.

➕ show 2 replies