Kontrolní seznam pro úspěšné odesílání pošty a ověření doručení
Pro další kontroly bude vyžadován následující software:
-
Nástroj host
- Debian/Ubuntu:
apt-get install bind9-host - CentOS:
yum install bind9-host
- Debian/Ubuntu:
-
Nástroj Telnet
- Debian/Ubuntu:
apt-get install telnet - CentOS:
yum install telnet
- Debian/Ubuntu:
Záznam MX
Záznam MX je typ záznamu DNS určený k registraci poštovních serverů používajících protokol SMTP. Tento záznam je zodpovědný za určení serveru, na který musí být e-mail doručen poštovním agentem odesílatele. Na jedné doméně může být několik typů záznamů s různými prioritami.
Pomocí příkazu host můžete zkontrolovat, zda pošta funguje lokálně, nebo používá poštovní server třetí strany:
host -t MX example.com
Při práci s lokálním poštovním serverem se zobrazí výstup podobný následujícímu:
pošta pro example.com je zpracovávána serverem 10 mail.example.com.
Stojí za zmínku, že záznam mail.example.com může také směřovat na jiný server. Dále je nutné poznamenat, že mail.example.com musí být existující záznam A směřující na server, ze kterého odesíláte e-maily.
Pro kontrolu můžete také spustit tyto příkazy:
host example.com
host mail.example.com
A porovnat IP adresy, na které směřuje primární doména, v tomto případě example.com a mail.example.com.
Záznam MX je nutné nastavit, aby poštovní servery mohly přijímat váš e-mail.
Příklad záznamu MX:
Název: example.com.
Typ: MX
Hodnota: mail.example.com.
Priorita: 10
Podpis DKIM
Pomocí FASTPANEL® lze podpis DKIM získat v nabídce správy → v sekci "Mail" kliknutím na "DKIM" naproti požadované poštovní doméně

Na straně DNS je třeba záznam přidat následovně:
Název: dkim._domainkey
Typ: TXT
Hodnota: v=DKIM1; k=rsa; p=public_key
Zde je příklad správného záznamu DKIM
dkim._domainkey TXT v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCpbBQ0T2xO3/SwziunIC/IFbsxBRub6WXiu8Kc2w7uB4GVw+SAB5wSEslDJbFXQRbdV9i/Duu8EQ9xik8dbqdLVyP4iAtw34g4j6QWKcfocgK4hEkwlPFff1dzUlNQONh2riNE5KVJXuWcizm8hub7nPnl36e7OnxiL0qIU7tT1QIDAQAB
Více informací o DKIM najdete na https://wikipedia.org/wiki/DomainKeys_Identified_Mail
Záznam SPF
Přítomnost záznamu SPF lze zkontrolovat spuštěním příkazu host. V tomto případě bude příkaz vypadat takto:
host -t TXT example.com
S výstupem jako:
example.com popisný text "v=spf1 ip4:ipv4_of_your_server ip6:ipv6_of_your_server a mx ~all"
Všimněte si, že ipv6 nemusí být v tomto záznamu přítomno. V tomto případě bude podpis SPF vypadat takto:
example.com popisný text "v=spf1 ip4:ipv4_of_your_server a mx ~all"
Je nutné upozornit, že musí existovat pouze jeden záznam SFP
Na straně DNS by měl být záznam přidán následovně:
Název: example.com.
Typ: TXT
Hodnota:
v=spf1 ip4:ipv4_of_your_server ip6:ipv6_of_your_server a mx ~all
nebo (pokud se ipv6 nepoužívá)
v=spf1 ip4:ipv4_of_your_server a mx ~all
Například:
example.com TXT v=spf1 ip4:1.2.3.4 a mx ~all
Více informací o SPF najdete na https://wikipedia.org/wiki/Sender_Policy_Framework
Záznam DMARC
Ve většině případů bude hodnota záznamu DMARC stejná.
Na straně DNS je třeba záznam přidat následovně:
Název: _dmarc
Typ: TXT
Hodnota: v=DMARC1; p=none
Například:
_dmarc.example.com. TXT v=DMARC1; p=none
Více informací o DMARC najdete na https://wikipedia.org/wiki/DMARC
Záznam PTR a hostname serveru
Záznam PTR je reverzní záznam DNS, který převádí IP adresu na název. Hlavním účelem tohoto záznamu pro poštovní server je eliminovat většinu spamu. Tento záznam umožňuje určit název hostitele, ze kterého e-mail přichází. Nejčastěji záznam PTR obsahuje název domény používaný na serveru.
Záznam PTR přiřazuje IP adresu k názvu hostitele. Pokud záznam PTR není zadán správně, vaše e-maily budou odmítnuty a nedorazí adresátovi.
Hostname by měl být zadán jako název skutečné domény směřující na server a PTR by měl směřovat na doménu, která zase směřuje na server.
Například máte na serveru doménu example.com.
Spuštěním příkazu:
host example.com
můžete získat výstup:
example.com má adresu 1.2.3.4
pošta pro example.com je zpracovávána serverem 10 mail.example.com.
Aby se předešlo možným problémům, doporučuje se nastavit hostname a záznam PTR jako existující subdoménu druhé úrovně, například mail.example.com
Dostupnost portů SMTP
Někteří poskytovatelé hostingu uzavírají možnost používat porty, které se používají k odesílání nebo přijímání pošty. Porty pro poštovní služby mohou být 25, 587, 465, 143 a 993.
Jedním z nejjednodušších způsobů, jak zkontrolovat dostupnost těchto portů, je použít příkaz telnet.
Kontrola příchozího připojení ze serveru třetí strany
Spusťte příkaz:
telnet ip_adress port
Například pokud se pokusíte použít telnet na port 25 na adrese 1.2.3.4, příkaz ke spuštění bude:
telnet 1.2.3.4 25
Pokud je připojení úspěšné, uvidíte výstup podobný tomuto:
Probíhá pokus o připojení k 1.2.3.4...
Připojeno k 1.2.3.4.
Únikový znak je '^]'.
Pokud se připojení nezdaří, výstup bude vypadat takto:
Připojování k 1.2.3.4 ...
Nelze otevřít připojení k hostiteli na portu some_port: připojení selhalo
Nebo:
telnet: Nelze se připojit ke vzdálenému hostiteli: vypršel časový limit připojení
Pro odchozí připojení
Na serveru spusťte příkaz:
telnet smtp.gmail.com 25
Pokud je připojení úspěšné, uvidíte výstup podobný tomuto:
Probíhá pokus o připojení k 2a00:1450:4010:c0b::6c...
Připojeno k smtp.gmail.com.
Únikový znak je '^]'.
220 smtp.gmail.com ESMTP j6-20020ac25506000000b004b53eb60e3csm1066162lfk.256 - gsmtp
Vezměte prosím na vědomí, že pokud používáte cloud hosting a pro svůj server SMTP používáte port 25, je pravděpodobné, že váš poskytovatel hostingu ve výchozím nastavení blokuje odchozí připojení na portu 25. Níže najdete odkazy s pokyny, jak tento problém vyřešit:
- AWS: Jak odstraním omezení na portu 25 ze své instance Amazon EC2 nebo funkce AWS Lambda?
- Azure: Řešení potíží s odchozím připojením SMTP v Azure
- GCP: Odesílání e-mailů z instance
- DigitalOcean: Proč je SMTP blokováno?
Kromě blokování portů ze strany poskytovatele hostingu musíte zkontrolovat, zda nejsou porty na vašem serveru uzavřené. Jako příklad si vezměme iptables, který funguje jako firewall, s použitím ovládacího panelu FASTPANEL. Příkaz pro kontrolu, zda existuje pravidlo pro konkrétní port, v tomto případě 25, je:
iptables-save | grep 25
Pokud pro port, který chcete zkontrolovat, nemáte žádné pravidlo, nebudou zobrazeny žádné informace. Pokud vidíte, že existuje pravidlo blokující port poštovní služby, musíte toto pravidlo odstranit příkazem:
iptables -D rule chain
Například jste spustili příkaz a zjistili následující:
iptables-save | grep 25
-A INPUT -p tcp -m tcp --dport 25 -j DROP
Toto pravidlo neumožňuje žádný přístup k vašemu serveru přes port 25, což zabrání odesílání pošty
K odstranění pravidla použijte příkaz:
iptables -D INPUT -p tcp -m tcp --dport 25 -j DROP
Tento příklad příkazu vám umožní zkontrolovat každý port používaný pro poštu
Vliv IPv6 na odesílání pošty
Pokud potřebujete používat ipv6 pro své poštovní služby, první věc, kterou musíte udělat, je zkontrolovat, zda pro ipv6 existuje záznam PTR a zda poštovní služby na určitých portech naslouchají na ipv6.
Kontrolu můžete provést pomocí příkazu:
netstat -nltpp | grep tcp6
Výsledkem výstupu tohoto příkazu bude seznam všech služeb, které používají ipv6, mezi nimiž již můžete zkontrolovat, zda vaše poštovní služba tuto adresu používá. Bohužel dnes už používání ipv6 nemusí fungovat správně, i když jste všechna nastavení provedli správně.
Pokud jste kontrolou logů poštovní služby zjistili, že chyba souvisí s ipv6, a celá konfigurace je správná, můžete používání ipv6 pro poštovní službu zakázat.
Na příkladu exim4 vypadá zakázání ipv6 takto:
-
Zkontrolujte, zda služba používá adresu ipv6, pomocí příkazu
netstat -nltp | grep exim
-
Do konfiguračního souboru
/etc/exim4/exim4.conf.templateje třeba úplně na začátek souboru přidat následující řádek:disable_ipv6=true
-
Uložte změny v souboru a poté restartujte službu příkazem, například:
systemctl restart exim4 -
Spusťte příkaz:
netstat -nltp | grep eximpro kontrolu, zda služba již není v seznamu
Kontrola odesílání pošty pomocí služeb třetích stran
Po kontrole všech výše uvedených položek můžete zkontrolovat odesílání pošty ze svého serveru pomocí zdrojů třetích stran.
Jednou z nejpohodlnějších a nejinformativnějších služeb je https://www.mail-tester.com
Pomocí ní můžete zkontrolovat aktuální hodnocení své pošty, získat informace o tom, zda je výše uvedená sada dat správná, a také získat doporučení ke zlepšení hodnocení.
K tomu stačí odeslat e-mail na adresu uvedenou na webu a poté kliknout na "Then check your score".
