Ve světě e-mail, existuje mnoho aspektů testování, ale jeden z nejvíce základních testů můžete udělat, je jednoduše telnet do daného SMTP serveru. Tento test je užitečný při určování, zda nejzákladnější problémy existují nebo neexistují.
- je server up?
- existuje komunikace blokující bránu firewall?
- umožňuje poštovní server předávání konkrétní domény / e-mailové adresy?,
- jaké příkazy SMTP podporuje poštovní server?
- odpovídá server správným názvem hostitele?
- funguje připojení mimo jakýkoli software nebo API třetích stran?
všechny tyto otázky a další mohou být zodpovězeny jednoduchým testem telnet.
než začneme, nezapomeňte otevřít náš doprovodný kus tomuto příspěvku: kam jsou odesílány zprávy Bounce? na nové kartě, takže si ji můžete přečíst po dokončení tohoto blogu.,
jako poznámka jsou příkazy použité v následujících příkladech (stejně jako další příkazy) zahrnuty v oddíle 4.1 RFC 2821.
většina počítačů je předinstalována s klientem telnet. Pro ty verze systému Windows, které ne, lze nainstalovat otevřením části“ Programy a funkce „ovládacího panelu a výběrem možnosti“zapnout nebo vypnout funkce systému Windows“. Po otevření tohoto okna vyberte „telnet client“ a poté klikněte na OK.
jakmile je klient telnet ověřen, aby byl nainstalován na serveru, musíme nejprve najít poštovní server, do kterého se chcete přihlásit., K tomu budeme potřebovat záznam DNS MX pro danou doménu. To lze nalézt následující příkaz (pro tyto příklady port25.com budou použity, ale žádné domény může být nahrazen):
Windows:
nslookup -typ=mx port25.com
Non-autoritativní odpověď:
port25.com MX preference = 100, mail exchanger = mail.port25.com
Linux:
nslookup -typ=mx port25.com
Non-autoritativní odpověď:
port25.com mail exchanger = 100 mail.port25.com.,
dále potřebujeme DNS PTR pro IP, kterou budeme používat. Nejprve musíme vědět, jakou IP adresu nás internet vidí. Abychom zjistili, že můžeme použít web jako:
s IP adresou spusťte následující příkaz, kde A.B. C. D je IP adresa.
Windows:
nslookup -typ=ptr a. B. C. D
Non-autoritativní odpověď:
D. C. B. a. in-addr.arpa jméno = server.example.com
Linux:
nslookup -typ=ptr a. B. C. D
Non-autoritativní odpověď:
D. C. B. a.,in-addr.arpa název = server.example.com
server.example.com je to jen příklad a vaše výsledky budou jiné.
takže teď, když máme záznam MX pro port25.com a PTR pro IP, které budeme používat, je čas se přihlásit na server SMTP. Provedete to tak, použijte následující příkaz:
telnet mail.port25.com 25
Něco podobná následující by měl být nyní zobrazen:
první příkaz musíme vydat k poštovnímu serveru je EHLO nebo HELO., Jedná se o základní pozdrav, který zahajuje komunikaci mezi klientem telnet a serverem SMTP. Předán je také DNS PTR pro IP adresu, ze které se připojujeme, jak bylo stanoveno dříve.
EHLO server.example.com
Něco jako následující, by měla být vrácena:
250-mail.port25.com říká hello250-STARTTLS250-ENHANCEDSTATUSCODES250-PIPELINING250-CHUNKING250-8BITMIME250-XACK250-XMRG250-VELIKOST 54525952250-VERP250 DSN
To ukazuje, SMTP příkazy SMTP server akceptuje., Ne všechny SMTP servery podporují stejné sady příkazů. Například, yahoo ukazuje jen následující:
250-8BITMIME250-VELIKOST 41943040250 PIPELINING
aol ukazuje pouze jeden s:
250 DSN
další příkaz, musíme problém je v příkazu MAIL FROM. To určuje adresu, na kterou jsou odeslány odrazy. To není stejné jako z hlavičky, což je e-mailová adresa zobrazená v e-mailovém klientovi.
MAIL Z: <[email protected]>250 2.1.,0 MAIL ok
nyní, když byla odeslána pošta z příkazu, můžeme poslat RCPT na příkaz. Tento příkaz řekne poštovnímu serveru SMTP, komu má být zpráva odeslána. To může být stejné nebo jiné než záhlaví to, což je e-mailová adresa zobrazená v e-mailovém klientovi.
RCPT to: <[email protected]>250 2.1.5 <[email protected]> ok
poslední příkaz spustit před zahájením tělo zprávy je v DATECH příkazu., Tento příkaz umožňuje poštovnímu serveru SMTP vědět, že vše ostatní, co má být odesláno, je tělo zprávy (která také obsahuje záhlaví).
DATA354 poslat zprávu
je důležité si uvědomit, že pokud poštovní server podporuje PIPELINING, jako mail.port25.com ano, poštovní server SMTP může počkat až do DATA, je vydán příkaz, než reagovat na případné jiné příkazy po EHLO/HELO. V takovém případě zadejte příkazy MAIL FROM, RCPT TO a DATA před čekáním na odpověď.,
nyní, když byl odeslán příkaz DATA, můžeme začít odesílat obsah zprávy. To začíná různými záhlaví. Minimálně zpráva by měla obsahovat do, z, předmět, a datum záhlaví. Záhlaví zde zadané se zobrazí uživateli v jejich e-mailovém klientovi.
S záhlaví nastavit, můžeme nyní přidat jeden prázdný řádek s carriage return/line feed (stačí stisknout enter dvakrát) a pak začneme samotné tělo zprávy.
Hello World, jedná se o testovací zprávu odeslanou z manuální relace telnet.,Yours truly, SMTP administrator
se zprávou kompletní, musíme sdělit SMTP serveru, že jsme se zprávou hotovi a chceme, aby ji poštovní server SMTP přijal. To se provádí s obdobím na lince samo o sobě. Pokud je během psaní zprávy zapotřebí období na řádku samo o sobě,musíte dát 2 období, první uniká druhé.
. 250 2.6.0 zpráva přijata
nakonec je příkaz QUIT odeslán k ukončení připojení:
QUIT221 2.0.0 mail.port25.,com se rozloučí
s tím, že poštovní server nyní přijal zprávu k doručení a měl by sedět v doručené poště RCPT na adresu!!!
Zde jsou všechny příkazy bez přerušení:
– Scott