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