autor dobrovolně přispěl tímto tutoriálem jako součást programu Pepipost Write to Contribute.
Úvod
chyby připojení SMTP lze vyřešit mnoha způsoby, ale příkazový řádek detekuje chybu z kořene poměrně snadno. V tomto hlavolamu je Telnet široce používán k testování přerušení připojení SMTP. Testování e-mailového serveru s klientem Telnet je místo, kde bychom se zaměřili a pokračovali v našem řešení. V tomto článku bychom řešili jeden z nejrozšířenějších problémů a potenciální bod bolesti připojení SMTP pro vývojáře. Chcete-li zkontrolovat, zda SMTP pracuje z příkazového řádku (Linux), je jedním z kritických aspektů, které je třeba vzít v úvahu při nastavování e-mailového serveru.
nejběžnějším způsobem kontroly SMTP z příkazového řádku je použití příkazu telnet, openssl nebo ncat (nc). Je to také nejvýznamnější způsob testování relé SMTP. Uvidíme, jak to bude fungovat.
Poznámka: Tyto příkazy jsou specifické pro Linux, takže nebudou fungovat v jiných prostředích.
SMTP z příkazového řádku-některé důležité příkazy
1. Telnet: používá se ke komunikaci s jiným hostitelem pomocí protokolu telnet. Pokud název hostitele není k dispozici, přejde do příkazového režimu.
Poznámka: Pokud telnet není k dispozici, zkopírujte a vložte příkaz
sudo yum install telnet
2. ncat nebo nc: je to univerzální nástroj CLI používaný pro skenování portů, bezpečnostní nástroj a monitorovací nástroj.
Poznámka: Pokud ncat nebo nc není k dispozici, zkopírujte a vložte níže uvedený příkaz
sudo yum install nmap-ncat -y
3. openssl: Je to univerzální knihovna, která poskytuje open-source implementaci protokolu SSL a TLS.
Poznámka: Pokud openssl není nainstalován, zkopírujte a vložte níže uvedený příkaz:
sudo yum install openssl
Krok 1: Kontrola připojení SMTP pomocí Telnet
Telnet k hostiteli, chcete zkontrolovat připojení. Smtp servery obvykle komunikují přes smtp porty 25, 2525,587. Telnet SMTP test je jedním z nejlepších způsobů, jak zjistit stav připojení SMTP.
Věděli jste, že SMTP Port 25 je výchozí SMTP Port? Přečtěte si podrobně.
syntaxe : telnet
telnet smtp.pepipost.com 25
Chcete-li ukončit telnet ctrl+] a ukončit
výstup: pokud je správně připojen
můžete dokonce zkusit poslat e-mail pomocí telnetu.
výstup: pokud je připojení odmítnuto.
Krok 2: Kontrola připojení SMTP z příkazového řádku pomocí Ncat nebo Nc
protože ncat nebo nc má různé funkce ze seznamu funkcí, zkontrolujeme připojení pomocí následujícího příkazu.
nc -v -u smtp.example.com 587
pokud je úspěšně připojen
auth]# ncat -v -u smtp.pepipost.com 587Ncat: Version 7.50 ( https://nmap.org/ncat )Ncat: Connected to 138.197.56.58:587.
pokud je problém s připojením hostitele
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.
všechny výše uvedené kroky se používají ke kontrole připojení SMTP z příkazového řádku na konkrétní port hostitele. Dalším krokem je komunikace prostřednictvím zabezpečeného tunelu pomocí TLS. Bezpečnost TLS má zásadní význam, pokud jde o doručitelnost e-mailů. Přečtěte si náš podrobný blog o zabezpečení TLS (Důrazně doporučujeme).
Krok 3: Kontrola připojení SMTP přes TLS pomocí Openssl
Chcete-li nastavit šifrované připojení TLS k serveru SMTP, potřebujete příkaz openssl.
openssl s_client -connect smtp.pepipost.com:587 -starttls smtp
jakmile stisknete výše uvedený příkaz, uvidíte spoustu podrobných informací.
především, když je spojení úspěšně navázáno, všimnete si 250 DSN.
v důsledku toho, jakmile máte 250 DSN, můžete nyní spustit transakci SMTP pomocí níže uvedeného příkazu
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
to vám dá podporovanou podrobnou.