Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: LIV is a webmail front-end for your personal email server (github.com/derek-zhou)
62 points by derekzhouzhen on Sept 25, 2021 | hide | past | favorite | 66 comments



Interesting idea, and certainly a welcome one as you’ve described given the state of open source web clients, but the lack of screenshots in the readme of this ultimately graphical software means you’ve not really presented any ‘proof’ that you’ve improved the situation.

Also a few spelling mistakes in the config paths might be worth fixing to make sure people don’t dismiss before giving it a go. For example, the config goes into the path ‘self_configer’ which is possibly a misspelling of configure, but the result is a loss in confidence that the rest of the software is of usable quality.

Nice effort, and congrats for putting it out there!


> the lack of screenshots in the readme of this ultimately graphical software means you’ve not really presented any ‘proof’ that you’ve improved the situation.

I will put up some screen shots tomorrow.

> For example, the config goes into the path ‘self_configer’ which is possibly a misspelling of configure, but the result is a loss in confidence that the rest of the software is of usable quality.

Too late to fix that now :(


> How do I delete a mail? > No, you can't.

To be honest, that alone makes this useless for me. Perhaps others can do fine the "archive" functionality, but that seems like a feature that I can't live without.


De-prioritizing delete is one of the things that bugs me about Gmail, but plenty of folks seem to like keeping things around. For a while, my employer kept increasing the sizes of our email boxes. I asked if I could opt-out and was told no. I don't need 25GB for email.


I have >70k emails in my archive, the whole mails and full text index fit in 5GB. The key is to delete all attachments.

Also, very few junk mails remain in my archive with my very simple archive rule.


And Google is only doing it to scrape our data


> You run your own email server on your own VPS and your own domain name, serving yourself and maybe a few family members and close friends.

I would not recommend doing this unless you have a really good idea what running a public facing smtpd involves in the year 2021 for full email deliverability to/from all destinations.

Your main problem will be that almost certainly whatever VPS host you're on will have "polluted" IP space from previous customers and neighbouring IPs in the same netblocks. It will be something entirely beyond your control and not likely to ever get fixed.

If you want to self host your own email you need an unimpeachable clean section of IP space, which these days means working with a more traditional ISP that will cost you a lot more for service per month.

Like, not a $5 to $25/mo VPS, but a minimum of $150-200/mo for colocation services or a dedicated server from a hosting company that has an absolute zero tolerance abuse policy. Or if you happen to know somebody at such an ISP and can work out a friendly deal with them, that might be an option, and would involve much less money.

And that's before you get into a proper SPF, DKIM and DMARC setup.

re: what's "wrong" with common open source webmail IMAP clients, neither rainloop or roundcube are terribly offensive or bad. I don't see a need for a new third thing that's apparently not designed for large scale production use (both of the above are used by some large universities and others), catering to a niche market of people who want to just self-host personal email.


> I would not recommend doing this unless you have a really good idea what running a public facing smtpd involves in the year 2021 for full email deliverability to/from all destinations.

It isn't nearly as bad as your post would suggest. There are plenty of reputable service providers, and plenty of software other than sendmail.

> you need an unimpeachable clean section of IP space, which these days means working with a more traditional ISP that will cost you a lot more for service per month

No, it means working with a reputable service provider. I picked up a VPS from RackNerd. The worst I had to do was fill out a Spamhaus form one time. And that's just because Spamhaus is rubbish themselves.

> Like, not a $5 to $25/mo VPS

I pay $23/year.

> And that's before you get into a proper SPF, DKIM and DMARC setup.

These are the least difficult parts of setting up email service. SPF is a simple DNS TXT record; MX Toolbox provides a record generator[0]. DMARC is also a TXT record[1], even simpler than SPF. For DKIM, things like OpenDKIM exist; Digital Ocean describes how to set it up with Postfix[2].

> I don't see a need for a new third thing that's apparently not designed for large scale production use

The internet is for everyone. Not everyone is a university.

[0]: https://mxtoolbox.com/SPFRecordGenerator.aspx [1]: https://dmarc.org/overview/ [2]: https://www.digitalocean.com/community/tutorials/how-to-inst...


1) congratulations, you won the VPS provider lottery for something with clean IP space. you're totally confident it will remain that way? in my experience, hosting services that any random person can buy with $5/mo and a credit card on the internet will inevitably lose its IP space reputation. The margins are too thin in the hosting game for a company to provide personal, human, granular attention to eliminating every spammer.

2) no, openDKIM isn't hard to set up with (for instance, postfix). and neither is properly configured SPF, DMARC, etc. But it's more than 99.9% of email users want to get into. If you're already really confident doing intermediate level linux/bsd sysadmin stuff? sure, knock yourself out, overall it's just another daemon with some text based configuration files, and plenty of good reference material out the on the internet.

If you're determined to do that you're better off with a real IMAP server setup, I recommend dovecot, than whatever this small project is in the linked URL. And then if you want webmail, either rainloop or roundcube. Or just set up a proper IMAP-over-TLS client on all your devices so you don't need webmail.


I use a cheap vps from lowendbox like $20 a year. I used mailinabox and the setup was a few minutes. Been running it successfully for almost a year, except first few months of gmail reputation issue, the experience has been painless. You are simply fearmondering against self hosting email


> 1) congratulations, you won the VPS provider lottery

I'm not the person you are responding to, but honestly it's not that hard. I used to subscribe to a VPS which recycled its IPs formerly used by spammers, but now I use a company which is way more vigilant about blocking spammers. Not all IP ranges are rife with spammers, so all you need to do is run cheap tests with a few VPS companies to find a good solution.


This pissing match is a great advertisement for just getting a gmail account like everybody else in the universe


I think DigitalOcean does a pretty good job on managing IP reputation.

When setting up my account with Microsoft's feedback loop, DO was already registered as a steward of my droplet IP. It turns out DO doesn't want to be seen as spam-lenient.


last I checked DigitalOcean completely blocked port 25 on their droplets.


Mailinabox uses port 587


is this working with all ESPs ? It was enough of a reason for me to switch my mail server to Linode.


As far as I can tell. Yahoo (and yahoo-like), Microsoft, Google all accepting our mail with no problems. Nothing is going to spam either.


Last month, I build my server using $5 server digitalocean/Linode a like.

Everything perfectly fine, to get better delivery use 3rd party.

From cost perspective, I’m happy because don’t need to pay google $50/m.


I use SES, i don't pay more than $1 a month for email. And google costs $6/m not $50.


Your post is extremely misleading and full of false information.

I’ve been using a small VPS (sub $10/month) to self host mail for at least 10 years, and I’ve migrated hosts a few times without issue.

I’ve even migrated to a “polluted” IP on a different provider and getting that removed from RBLs took a couple of emails and the entire process honestly took less than a week.


> And that's before you get into a proper SPF, DKIM and DMARC setup.

only to be pushed into spam and plain rejected by "non-mainstream" email providers regardless


yes, indeed, even if you have perfectly clean IP space and do everything flawlessly, expect months after you put it into production before email to/from anything microsoft hosted starts to work properly.


Microsoft is not bad now; Gmail is worse. QQmail (from Tencent) is the worst of all.

Or you can cheat and use sendgrid or mailgun, but that is like caving to the dark side.


I had lots of issues with MS, only with recipients in their free services like outlook.com, Hotmail and live. Always soft blocked because they said my mailserver didn't have enough 'reputation'. Opening a ticket got it unblocked but it happened again a few months later. Drove me crazy. Strange enough corporate O365 recipients (my work uses it) worked fine always.

I'm 100% sure no spam was sent by my server as everything was logged.


When I was struggling last year I wrote this blog post to document all the right things I have to do:

https://blog.roastidio.us/posts/send_my_own_emails/

See if it can help you.


Clear blog! But I had all that. SPF, DMARC etc. I had perfect scores on all the online checkers and I was not on blocklists.

The problem is MS just ignores all that and built their own system, one that works on reputation. If you don't send a lot of mail you don't build up reputation and they block you. Over and over. Even if you never send any spam.

The big names just don't care about standards and they have the market share to simply ignore them.


I remember I need to file a complaint with Microsoft. You can also register a few outlook.com accounts and manually train the system :)

Seriously, the whole SPAM situation is way overrated. In the name of fighting SPAM, they (the big email providers) blocks us, but they let all the ads in? To add injury on top of insult, they are lenient for paying corp accounts but very strict for "free" personal accounts?

If this does not tell you what "free" big email providers are, nothing will.


I pay $5 per month. It is a uphill battle for the first 1 year then the stigma of the ip wear-off. "Bad" IP block is past thing; all reputable blicklist/whitelist/graylist use individual IPs now. I also have proper SPF, DKIM and DMARC setup, of course.

I made my own web mail because I can and it scratches my itch. Yes, it is not suited for even mid scale deployment, but that's exactly my purpose.


Dunno, I pay Linode $10 a month, haven't had problems. Have a few friends and family that send and receive a fair amount of email.

I've talked to a fair number of other mail server owners, doesn't seem like a big deal. I've definitely had more problems with university mail servers getting blacklisted than my personal mail server.

I have noticed problems that fit well with some mail servers considering the age of your domain name.

Sure SPF, DKIM, DMAC, and friends require some work, but so does mysql (which I use for domain, users, forwarding, and similar tables), postfix, sieve, etc.


Mail in a box and some cheap hosting, then you're good to go. It works really well. Better than Send grid on a shared IP, in my experience.


My personal email isn't all that high stakes so the $5/month VPS self-host is working great for me.


Actually your personal email is higher stake than your corp email because you want privacy, security and you are on your own and take full responsibility.

$5/month VPS is fine; mine has uptime > 1 year. Even if you have bad IP that is constantly blocked, you can cheat and use sendgrid to send mails. It is free for 100 mails per day. The most important thing is now you own all your data.


Yes to all of that, I just meant that it's not a big deal if a few companies reject my emails or things like that.


I'm chiming in to say the same thing. I've ran email myself since 2016 and send about 50 emails a day across all accounts. Either we're extremely lucky or it's not as bad as described.


Wow. You can repeat the same drivel that lots of naysayers can. How wonderfully helpful!

Did you offer any real evaluation of the purpose of this post? No. You came here to just shit on it.

Just because you can't do something doesn't mean you should tell others they shouldn't.


> can't do something

Have been setting up and running smtpd for various ISPs since 1999, thanks.

I have the benefit of having seen how it's done professionally on a large scale, which informs my own choice of architecture for my personal domains and infrastructure.


Please dont scare people ,

It took me 10 minutes to host an email server and all my emails get delivered just fine.

If you’re worried about deliverability. Just use a relay server to manage deliverability issues , dkim setup for you , like aws ses

Atleast that way youre receiving emails still stay hosted and private on your personal server , and outgoing emails get delivered by ses.

Ses is pretty cheap too, heck its literally free for 2000 emails or so per month, so no extra cost for personal email servers.

https://github.com/docker-mailserver/docker-mailserver

Something like this , lets you setup a decent mailserver under 10 mins with next to no maintenance needed.

(Only had to log back in once , to update the docker image itself)


Huh. I've been running a self-hosted email server for myself and my family for over a decade on a $5 VPS with very few issues.

I get that it's not for everyone, though.


Hey! I ported switchboard from Erlang to Elixir to get a better sense about how certain Elixir constructs translate to Erlang.

It's an IMAP client for Elixir which you might find useful in your project! I should really get around to creating a reference example for monitoring a single mailbox.

https://github.com/voughtdq/imap


Please include a screenshot of the frontend in the README.

Also a Dockerfile (and a simple one line instruction) would help this project be easier to try out.


I added a few screenshots in the README as requested by some comments here. A few also request a dockerfile; however this I can't provide, because LIV is supposed to run together with your SMTP server and read the local files for the mails. If I package LIV together with SMTP server in the same container it will be too inflexible.

You don't really need a SMTP server, or VPS to try LIV. All you need are a Linux box and some mails in your maildir, and getmail can help to achieve that. You can't send mails though.


> All open source webmail sucks.

What is the problem with Rainloop? [0] I've had no problem with fulltext search yet. Am I missing something? (Not high enough volume e.g.?)

[0] https://www.rainloop.net/


I have not used that so can't comment. However, it looks like it is on top of IMAP or JMAP. I have >70K mails in my archive. Try that with IMAP and do a search and you will see what is wrong.

In comparison, LIV read mails directly off the maildir. It is basically the dumb down, web version of mu (https://www.djcbsoftware.nl/code/mu/), which LIV is based off.

Maybe my statement about other open source webmail is too provoking; but I think this is one of a new kind of webmail.


>I have 70K mails in my archive. Try that with IMAP and do a search and you will see what is wrong.

Wouldn't that entirely depend on the indexing used by the IMAP server? IMAP even supports full text searches with a single command.

Now if you are talking encrypted email, then, yes, IMAP is a problem for full text searches. But you can't do that server side using any method if the keys live only at the email client (as is proper).


Indexing is no longer optional, but necessary. And once you have that, IMAP just becomes an unnecessary intermediary. Why go through IMAP when you can read the mail directly from the underlying Maildir?

* If you just want to download some mails, there is the much simpler POP3 * If you want to access your mail remotely in a convenient way, there is webmail * If you want to do scripting, or advanced manual operations on your mail store, there are terminal tools

IMAP can do all three but is a lousy substitute and holding you back.


You can do the indexing of the messages as they are seen from IMAP. For encrypted messages you have to do that anyway with an extra decryption step.

Having a local mail spool is great, but email has to be accessible from a lots of different devices in lots of different ways.


> email has to be accessible from a lots of different devices in lots of different ways.

That's exactly the point of having your own email server in the cloud with all your mails, so all of your devices can access the vast data through a common webmail interface, without downloading anything in advance.


Agree, a comparison to rainloop would be nice.


There sounds great. I currently use Astroid that has some similar capabilities: searchability using notmuch, simple HTML rendering and Markdown composing. Would be interesting to compare the two!


Can you provide a link. I am curious.



thanks. I used notmuch before I settle down to mu. How does astroid display HTML emails? LIV can use a sandboxed iframe becaue it is running in the browser already; a native progrem will have to embed webkit, I suppose?


Indeed, it uses WebKitGTK I think.


Thank you! This looks nice, and I like how you work with Maildir instead of IMAP


IMAP is very hard to get right. Also it is like petting your dog with a kitchen mitten. Reading mails right off the maildir is much easier.


Interesting but a baroque implementation dependency (off the main path, good code: Erlang is minimalist heaven) and strongly dogmatic/declarative instructions.

Mail is complicated. The fine article glosses over the huge pain and risks in self hosting (basically, one foot wrong and you're blacklisted by a major player)

"Do it exactly this way" won't play for a lot of people


To be fair I am not suggesting people to self-host email because I know it is hard. I am suggesting LIV to people already self-host their email and want an easy web mail.

Of cause LIV is not for every one; I gave plenty of warnings in the README. I only wish to see more people to write or customize software to do email exactly their way so that we can all learn from it.


You should’ve mentioned the front end is all phoenix liveview and surface. That would’ve gotten a little different attention here


I thought liveview and surface are already mainstream enough now :)

Yes, liveview totally pave the road to build data intensive and interaction intensive, server-side driven applications such as this kind of email. And without surface I can't use liveview at all. In fact, I held up from using liveview until surface is mature enough.

LIV is a testament for both liveview and surface. Big kudos to the people behind them.


LIV is also the name of a fairly popular VR-tool [0] for capturing in-game footage combining it with the view from real-world camera, so I was confused at first

[0] - https://www.liv.tv/


Nothing will ever beat SquirrelMail


If you need help setting up containerisation, please let me know. (once you provided proof it is worth the work (ie screenshots))


> front-end

> no screenshots


Readme fail. No screenshots??


Conteinerization (docker or docker-compose if needed) is a need to avoid complex setup


Off-topic: Start thinking about OCI Open Container Images. Docker went commercial -but to start what is basically some processes- you have podman and Singularity now. Containers are just files running in Linux cgroups.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: