Setting up an E-Mail Address using your own domain for free with Yandex

Now, first of all I want to get something out of the way: Hosting your own mail server isn't incredibly difficult if you have the necessary server management skills and a will to learn, I even did it myself for a while until I decided I didn't use mail enough to warrant the effort! (I'll probably change my mind again in the future)

However I believe the main benefit you get with having your own mail server is the freedom you get by using your own domain name that you control, not the actual mail server itself. Anyone who has moved main E-Mail addresses in the past knows that going from bob.smith@oldandbad.com to bob.smith@new.com is a long and painful process of changing the settings on dozens of websites and then telling everyone you write with that you moved addresses.

If instead you owned bob@smith.com you would never have to worry about your old mail provider becoming evil (they probably already are) or even them closing down.

It also looks cooler.

So something like Yandex (even though probably evil) is a great way to go from bob.smith@oldandbad.com to bob@smith.com as a first step.

Getting started

Yandex (like Gmail too, I believe, so pick your poison) offers "businesses" free E-Mail hosting on custom domains. Head over to their pricing page and pick the free tier. It'll ask you to register an account (you can change the language to English in the bottom right and you can click "I don't have a mobile phone" to sign up without a phone).

Once you're in the admin panel, click Set up E-Mail and enter your domain. You'll need to verify your ownership of the domain. To do that you can either add a DNS TXT record, add a Meta-Tag to your index.html or upload a file to your website if you're hosting one on the domain.

Yandex mail domain setup

Note: When I tried verifying through file upload it didn't work because my website auto-redirects to HTTPS, you can just stop your webserver for a bit and instead run python -m http.server 80 in a directory containing the verification file for a quick fix.

Then go over to your domain provider or wherever else you're configuring DNS and add a MX record with the value of mx.yandex.net. with priority 10 to the root of your domain (@).

Yandex mail domain setup

You may have to wait a few minutes to an hour for the DNS changes to propagate.

After that, add a TXT entry to configure DKIM signatues (this makes your mails not show up as spam).

Yandex mail dkim setup

Now you can go over to the Users tab to add a user, the password you enter there will be what you login with in your mail client of choice.

Yandex mail add user

You're all set up! Before you're able to login using a desktop E-Mail client, you have to log into yandex webmail with the account you just created (E-Mail is username@domain.tld and password is what you configured). Go to settings->other in the top right corner, then go to E-Mail clients and tick the Portal password box.

Yandex mail add user2

You're ready to start using your E-Mail address with your own domain!

Server credentials

Server   imap.yandex.com     smtp.yandex.com
User     username@domain.tld username@domain.tld
Password User's password     User's password
Port     993                 465
Security SSL/TLS             SSL/TLS

Note

If you aren't poor and holding onto your coins with everything you've got like me, there are a few commercial mail providers that let you use your own domain and don't seem as evil as Google or Yandex. They start at about $1 per month, you'll find plenty of them using your search engine.