A few months ago I wrote a comment on HN about algorithmic trading and someone emailed me about it. I sent him a reply from my self-hosted email domain, and I have no idea if he got it. I'm on a clean IP and clean domain, with a reputable hoster. I have SPF, DKIM, and DMARC set up correctly. Just last week I sent my gmail account a test email and sure enough it went to spam. There appears to be no rhyme or reason about it.
I believe the difference between people who say "email self-hosting is dead" and people who say "email self-hosting is trivial" is probably the volume of mail sent from their domain(s).
At my busiest, I was sending dozens of emails per day, but they were all from my work account. My personal account is pretty close to recv-only and probably averages an outgoing message count in the single digits per week. How can I reasonably keep an IP/domain reputation score fresh/warm if I send such a low volume? The answer is I realistically can't.
Self-hosted email remains an extremely difficult and time-consuming endeavor unless you happen to have some good luck, it seems.
Run your own email servers, but relay through there for better delivery?
Maybe this is what we need more of -- A class of mail system participants who exclusively maintain trusted IPs and do the legwork of trying to get through the gnarly systems set up by the other large email providers.
[EDIT] - "forward" -> "relay" for clarity
I don't know the solution but I know it needs to be discussed.
I don't understand using email alias in professional environments. At the time of replying to a forwarded email, will make you look very informal, as you would have to use your gmail address now. I wonder will it break the threading as the recipient now receives the email from gmail while at the time of sending used your personal domain.
The idea isn't actually to use an email alias -- it's to use an email relay.
Sorry if it's confusing (email as a whole is kind of confusing at first glance) -- relaying SMTP through a different server is kind of like using a VPN or a proxy.
Services like ImprovMX and Mailgun can be used for aliasing emails, but they can also just be used to deliver your emails for you (no aliasing to a new address).
The idea is to send all your email (like web traffic through a VPN) to those services.
All my incoming email goes to mailgun, which then forwards it to gmail. It's a so-so solution; it's cheap, extremely simple, and has catchall by default.
The big problem with this, is that gmail considers all messages forwarded to it as coming form the forwarder, not the original sender, and therefore spam harms the reputation of the forwarding domain.
But I don't understand how to configure mailgun to relay messages to gmail instead of forwarding them? Can you explain?
GMail understands ARC ("Authenticated Relay Chain"), a technology that signs a chain of deliveries, which is supposed to allow the right party to be blamed for spam. I don't know if any of these email forwarders respect ARC signature chains, but it would obviously be to their benefit if ARC's attributions were more widely recognised.
Postscript: Neither the Improvmx nor Mailgun sites have easily found information about ARC. It's a relatively complex and not widely used technology; nonetheless, the point I made about its adoption being in their interests stands.
Almost certainly a large part of your problem is that your individual IP address is in a shared net block that has other neighbors that have historically been a source of spam.
Unless you can get hosting at an ISP that does not sell low budget, commercial virtual private server, virtual machine or dedicated hosting to random people with $20 and a credit card, this will be an ongoing problem.
I believe the difference between people who say "email self-hosting is dead" and people who say "email self-hosting is trivial" is probably the volume of mail sent from their domain(s).
At my busiest, I was sending dozens of emails per day, but they were all from my work account. My personal account is pretty close to recv-only and probably averages an outgoing message count in the single digits per week. How can I reasonably keep an IP/domain reputation score fresh/warm if I send such a low volume? The answer is I realistically can't.
Self-hosted email remains an extremely difficult and time-consuming endeavor unless you happen to have some good luck, it seems.