Hoppa till huvudinnehåll

Checklista för lyckad e-postsändning och verifiering av leverans

Följande programvara krävs för fortsatta kontroller:

  • Verktyget host

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

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

MX-post

En MX-post är en typ av DNS-post som används för att registrera e-postservrar med SMTP-protokollet. Den här posten används för att avgöra till vilken server ett e-postmeddelande ska levereras av avsändarens e-postagent. Det kan finnas flera posttyper med olika prioriteter på en och samma domän.

Du kan kontrollera om e-posten fungerar lokalt eller använder en e-postserver från tredje part med kommandot host:

host -t MX example.com

När du arbetar med den lokala e-postservern visas en utdata enligt följande:

e-post för example.com hanteras av 10 mail.example.com.

Det är värt att nämna att posten mail.example.com också kan peka till en annan server. Dessutom är det viktigt att notera att mail.example.com måste vara en befintlig A-post som pekar till servern du skickar e-post från.

Du kan också köra dessa kommandon för kontroll:

host example.com
host mail.example.com

Och jämföra IP-adresserna som den primära domänen, i det här fallet example.com, och mail.example.com pekar till.

viktigt

En MX-post måste vara konfigurerad för att e-postservrar ska kunna ta emot din e-post.

Exempel på MX-post:

Namn: example.com.
Typ: MX
Värde: mail.example.com.
Prioritet: 10

DKIM-signatur

Med hjälp av FASTPANEL® kan DKIM-signaturen hämtas i hanteringsmenyn → avsnittet "Mail" genom att klicka på "DKIM" framför den aktuella e-postdomänen

Aktivera DKIM i FASTPANEL

På DNS-sidan måste posten läggas till enligt följande:

Namn: dkim._domainkey
Typ: TXT
Värde: v=DKIM1; k=rsa; p=public_key

Här är ett exempel på korrekt DKIM-post

dkim._domainkey TXT v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCpbBQ0T2xO3/SwziunIC/IFbsxBRub6WXiu8Kc2w7uB4GVw+SAB5wSEslDJbFXQRbdV9i/Duu8EQ9xik8dbqdLVyP4iAtw34g4j6QWKcfocgK4hEkwlPFff1dzUlNQONh2riNE5KVJXuWcizm8hub7nPnl36e7OnxiL0qIU7tT1QIDAQAB

Mer information om DKIM finns på https://wikipedia.org/wiki/DomainKeys_Identified_Mail

SPF-post

Förekomsten av en SPF-post kan kontrolleras genom att köra kommandot host. I det här fallet ser kommandot ut så här:

host -t TXT example.com

Med utdata som:

example.com beskrivande text "v=spf1 ip4:ipv4_of_your_server ip6:ipv6_of_your_server a mx ~all"

Observera att ipv6 kanske inte finns med i denna post. I det här fallet ser SPF-signaturen ut så här:

example.com beskrivande text "v=spf1 ip4:ipv4_of_your_server a mx ~all"

obs

Det är viktigt att påpeka att det bara får finnas en SFP-post

På DNS-sidan ska posten läggas till enligt följande:

Namn: example.com.
Typ: TXT
Värde:
v=spf1 ip4:ipv4_of_your_server ip6:ipv6_of_your_server a mx ~all
eller (om ipv6 inte används)
v=spf1 ip4:ipv4_of_your_server a mx ~all

Till exempel:

example.com TXT v=spf1 ip4:1.2.3.4 a mx ~all

Mer information om SPF finns på https://wikipedia.org/wiki/Sender_Policy_Framework

DMARC-post

I de flesta fall är värdet för DMARC-posten detsamma.

På DNS-sidan måste posten läggas till enligt följande:

Namn: _dmarc
Typ: TXT
Värde: v=DMARC1; p=none

Till exempel:

_dmarc.example.com. TXT v=DMARC1; p=none

Mer information om DMARC finns på https://wikipedia.org/wiki/DMARC

PTR-post och serverns värdnamn

PTR-posten är en omvänd DNS-post som omvandlar en IP-adress till ett namn. Huvudsyftet med denna post för e-postservern är att eliminera merparten av spam. Den här posten gör det möjligt att fastställa namnet på en värd som ett e-postmeddelande kommer från. Vanligtvis innehåller en PTR-post ett domännamn som används på servern.

PTR-posten associerar en ip-adress med ett värdnamn. Om PTR-posten inte är korrekt angiven kommer dina e-postmeddelanden att avvisas och inte nå mottagaren.

Värdnamnet ska anges som namnet på den faktiska domän som pekar till servern, och PTR-posten ska peka till domänen, som i sin tur pekar till servern.

Du har till exempel en domän, example.com, på din server.

Genom att köra kommandot:

host example.com

kan du få följande utdata:

example.com har adressen 1.2.3.4
example.com e-post hanteras av 10 mail.example.com.

För att undvika möjliga problem rekommenderas att ange värdnamnet och PTR-posten som en befintlig subdomän på andra nivån, till exempel mail.example.com

Tillgänglighet för SMTP-portar

Vissa hostingleverantörer stänger möjligheten att använda portar som används för att skicka eller ta emot e-post. Portar för e-posttjänster kan vara 25, 587, 465, 143 och 993.

Ett av de enklaste sätten att kontrollera tillgängligheten för dessa portar är att använda kommandot telnet.

För att kontrollera inkommande anslutning från en tredjepartsserver

Kör kommandot:

telnet ip_adress port

Om du till exempel försöker använda telnet mot port 25 på 1.2.3.4 är kommandot att köra:

telnet 1.2.3.4 25

Om anslutningen lyckas ser du en utdata som denna:

Försöker ansluta till 1.2.3.4...
Ansluten till 1.2.3.4.
Escape-tecken är '^]'.

Om anslutningen misslyckas ser utdatan ut så här:

Ansluter till 1.2.3.4 ...
Det gick inte att öppna anslutningen till värden på port some_port: Anslutningen misslyckades

Eller:

telnet: Det gick inte att ansluta till fjärrvärden: Anslutningen överskred tidsgränsen

För en utgående anslutning

Kör kommandot från din server:

telnet smtp.gmail.com 25

Om anslutningen lyckas ser du en utdata som denna:

Försöker ansluta till 2a00:1450:4010:c0b::6c...
Ansluten till smtp.gmail.com.
Escape-tecken är '^]'.
220 smtp.gmail.com ESMTP j6-20020ac25506000000b004b53eb60e3csm1066162lfk.256 - gsmtp

Observera att om du använder molnhosting och använder port 25 för din SMTP-server, är chansen stor att din hostingleverantör blockerar utgående anslutningar på port 25 som standard. Nedan kan du se länkar med instruktioner om hur du löser detta problem:

Utöver portblockering från din hostingleverantör måste du kontrollera om portarna på din server är stängda eller inte. Låt oss ta iptables som exempel, vilket fungerar som en brandvägg, i FASTPANEL-kontrollpanelen. Kommandot för att kontrollera om det finns en regel för en specifik port, i detta fall 25, är:

iptables-save | grep 25

Om du inte har någon regel för porten du vill kontrollera visas ingen information. Om du ser att det finns en regel som blockerar porten för e-posttjänsten måste du ta bort denna regel med kommandot:

iptables -D rule chain

Du körde till exempel ett kommando och fick följande:

iptables-save | grep 25

-A INPUT -p tcp -m tcp --dport 25 -j DROP

Denna regel tillåter ingen åtkomst till din server via port 25, vilket kommer att förhindra e-postutskick

För att ta bort regeln använder du kommandot:

iptables -D INPUT -p tcp -m tcp --dport 25 -j DROP

Detta exempelkommando låter dig kontrollera varje port som används för e-postutskick

IPv6:s påverkan på e-postutskick

Om du behöver använda ipv6 för dina e-posttjänster är det första du behöver göra att kontrollera om det finns en PTR-post för ipv6 och om e-posttjänsterna lyssnar på ipv6 på vissa portar.

Du kan utföra kontrollen med kommandot:

netstat -nltpp | grep tcp6

Resultatet av utdatan från detta kommando blir en lista över alla tjänster som använder ipv6, där du redan kan kontrollera om din e-posttjänst använder denna adress. Tyvärr kan användningen av ipv6 numera fungera felaktigt även om du har gjort alla inställningar korrekt.

Om du genom att kontrollera loggarna för e-posttjänsten upptäcker att felet är relaterat till ipv6 och hela konfigurationen är korrekt, kan du inaktivera användningen av ipv6 för e-posttjänsten.

I exemplet med exim4 ser inaktivering av ipv6 ut så här:

  1. Kontrollera om ipv6-adressen används för tjänsten med kommandot

    netstat -nltp | grep exim

    Kontrollera om ipv6-adressen används av exim

  2. I konfigurationsfilen /etc/exim4/exim4.conf.template måste följande rad läggas till allra högst upp i filen:

    disable_ipv6=true

  3. Spara ändringarna i filen och starta sedan om tjänsten med ett kommando som:

    systemctl restart exim4
  4. Kör kommandot:

    netstat -nltp | grep exim

    för att kontrollera att tjänsten inte längre finns i listan

    Kontrollera om ipv6 är inaktiverat för exim

Kontrollera e-postutskick med hjälp av tredjepartstjänster

När du har kontrollerat alla ovanstående punkter kan du kontrollera e-postutskick från din server med hjälp av resurser från tredje part.

En av de mest bekväma och informativa tjänsterna är https://www.mail-tester.com

Genom att använda den kan du kontrollera den aktuella bedömningen av din e-post, få information om huruvida uppgifterna ovan är korrekta eller inte, samt få en rekommendation för att förbättra bedömningen.

För att göra detta skickar du bara ett e-postmeddelande till adressen som anges på webbplatsen och klickar sedan på "Then check your score".

Testa din e-post med mail-tester