Přejít na hlavní obsah

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
  • Nástroj Telnet

    • Debian/Ubuntu: apt-get install telnet
    • CentOS: yum install telnet

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.

důležité

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ě

Povolení DKIM ve FASTPANEL

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"

poznámka

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:

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:

  1. Zkontrolujte, zda služba používá adresu ipv6, pomocí příkazu

    netstat -nltp | grep exim

    Zkontrolujte, zda exim používá adresu ipv6

  2. Do konfiguračního souboru /etc/exim4/exim4.conf.template je třeba úplně na začátek souboru přidat následující řádek:

    disable_ipv6=true

  3. Uložte změny v souboru a poté restartujte službu příkazem, například:

    systemctl restart exim4
  4. Spusťte příkaz:

    netstat -nltp | grep exim

    pro kontrolu, zda služba již není v seznamu

    Zkontrolujte, zda je pro exim zakázáno ipv6

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".

Otestujte svou poštu pomocí mail-tester