författaren bidrog frivilligt med denna handledning som en del av Pepipost Write to Contribute-programmet.
introduktion
SMTP-anslutningsfel kan lösas på många sätt, men kommandoraden upptäcker felet från roten ganska enkelt. I denna gåta, Telnet används ofta för att testa SMTP anslutningsavbrott. Testa en e-postserver med Telnet client är där vi skulle fokusera, framöver med vår lösning. I den här artikeln skulle vi lösa ett av de mest sökta problemen och en potentiell SMTP-anslutningspunkt för utvecklarna. För att kontrollera om SMTP fungerar från kommandoraden (Linux), är en kritisk aspekt som skall beaktas när du ställer in en e-postserver.
det vanligaste sättet att kontrollera SMTP från kommandoraden använder telnet, openssl eller NCAT (nc) kommando. Det är också det mest framträdande sättet att testa SMTP-relä. Låt oss se hur det fungerar.
OBS: Dessa kommandon är Linux-specifika, så fungerar inte i andra miljöer.
SMTP från kommandoraden – några viktiga kommandon
1. Telnet: används för att kommunicera med en annan värd med telnet-protokollet. Om värdnamnet inte tillhandahålls går det in i kommandoläge.
om telnet inte är tillgängligt, kopiera och klistra in kommandot
sudo yum install telnet
2. ncat eller nc: det är ett allmänt CLI-verktyg som används för portskanning, säkerhetsverktyg och övervakningsverktyg.
Obs: Om ncat eller nc inte är tillgänglig, kopiera och klistra in kommandot nedan
sudo yum install nmap-ncat -y
3. openssl: Det är ett allmänt bibliotek som tillhandahåller en öppen källkodsimplementering av SSL-och TLS-protokollet.
Obs: Om openssl inte är installerat, kopiera och klistra in kommandot nedan:
sudo yum install openssl
Steg 1: Kontrollera SMTP-anslutning med Telnet
Telnet till din värd, du vill kontrollera anslutningen. Smtp-servrar kommunicerar vanligtvis över smtp-portar 25, 2525,587. Telnet SMTP-test är ett av de bästa sätten att räkna ut ditt SMTP-anslutningstillstånd.
visste du att SMTP-Port 25 är standard SMTP-Port? Läs i detalj.
Syntax : telnet
telnet smtp.pepipost.com 25
för att avsluta telnet ctrl+] och avsluta
utgång: om det blir korrekt anslutet
du kan även försöka skicka e-post med telnet.
utgång: om anslutningen nekas.
steg 2: Kontrollera SMTP-anslutningen från kommandoraden med NCAT eller Nc
eftersom ncat eller nc har olika funktioner från listan över funktionalitet kommer vi bara att kontrollera anslutningen med följande kommando.
nc -v -u smtp.example.com 587
om den är ansluten
auth]# ncat -v -u smtp.pepipost.com 587Ncat: Version 7.50 ( https://nmap.org/ncat )Ncat: Connected to 138.197.56.58:587.
om det finns ett problem att ansluta värden
auth]# ncat -v -u smtp.example.com 587Ncat: Version 7.50 ( https://nmap.org/ncat )Ncat: Could not resolve hostname "smtp.example.com": Name or service not known. QUITTING.
alla ovanstående steg används för att kontrollera SMTP-anslutningen från kommandoraden till en viss port i värden. Nästa steg används för att kommunicera via en säker tunnel med TLS. TLS-säkerhet är av största vikt när det gäller leverans av e-post. Läs vår detaljerade blogg om TLS-säkerhet (rekommenderas starkt).
steg 3: Kontrollera SMTP-anslutning via TLS med Openssl
för att ställa in en TLS-krypterad anslutning till en SMTP-server behöver du openssl-kommandot.
openssl s_client -connect smtp.pepipost.com:587 -starttls smtp
när du träffar ovanstående kommando ser du mycket verbos.
framför allt, när en anslutning har upprättats, kommer du att märka en 250 DSN.
följaktligen, när du har fått 250 DSN kan du börja nu din SMTP-transaktion nu genom att använda kommandot nedan
EHLO "i am here"
EHLO i am here250-smtpbny-lb2.pepipost.com250-PIPELINING250-SIZE 50000000250-VRFY250-ETRN250-AUTH PLAIN LOGIN250-AUTH=PLAIN LOGIN250-ENHANCEDSTATUSCODES250-8BITMIME250 DSN
detta ger dig stöd för verbose.