Para apontar um nome de domínio para um IP, você provavelmente precisará do serviço de DNS dinâmico (já que a maioria das conexões domésticas tem IPs dinâmicos). Existem serviços gratuitos com domínios gratuitos (noip.com, freedns etc. apenas google "dynamic dns").
Eu sei que namecheap.com é geralmente bom e respeitado registrador de domínio, que também oferece serviços de DNS dinâmicos gratuitamente. Isso geralmente envolve o download de um script personalizado que está sendo executado em seu servidor doméstico e o relato de seu IP para que o nome do domínio possa ser ajustado, se necessário.
Para a configuração do servidor de e-mail, também envolve o DNS (definindo registros DNS do tipo MX).
Além disso, você precisará abrir as portas no seu roteador (e / ou firewall) para poder acessá-las pela Internet.
Em suma, acho que você seria melhor com um IP estático se não tiver um, pois ainda pode haver problemas quando o seu IP mudar, caso alguns dos hosts tenham cache IP antigo.