in de wereld van e-mail zijn er veel facetten aan het testen, maar een van de meest basale tests die je kunt doen is gewoon telnet in een bepaalde SMTP-server. Deze test is nuttig om te bepalen of de meest fundamentele problemen wel of niet bestaan.

  • is de server up?
  • is er een firewall die de communicatie blokkeert?
  • staat de mailserver het doorgeven van een bepaald domein/e-mailadres toe?,
  • welke SMTP-opdrachten worden door de mailserver ondersteund?
  • reageert de server met de juiste hostnaam?
  • werkt de verbinding buiten software of API ‘ s van derden?

al deze vragen en meer kunnen worden beantwoord met een eenvoudige telnet-test.

voordat we aan de slag gaan, moet u ons begeleidende stuk openen naar dit bericht: waar worden Bounce-berichten verzonden? in een nieuw tabblad, zodat u het kunt lezen nadat u klaar bent met deze blog.,

als opmerking worden de commando ’s die in de volgende voorbeelden worden gebruikt (evenals extra commando’ s) behandeld in Paragraaf 4.1 van RFC 2821.

De meeste computers zijn vooraf geïnstalleerd met een telnet-client. Voor die Windows-versies die dat niet doen, kan men worden geïnstalleerd door het openen van de” programma ‘ s en functies “sectie van het Configuratiescherm en het selecteren van”Windows-functies in-of uitschakelen”. Met dit venster geopend, selecteer “telnet client” en klik vervolgens op OK.

Zodra is geverifieerd dat een telnet-client geïnstalleerd is op de server, moeten we eerst een mailserver vinden om bij in te loggen., Hiervoor hebben we de DNS MX record nodig voor een bepaald domein. Deze kan gevonden worden met het volgende commando (voor deze voorbeelden port25.com zal worden gebruikt, maar elk domein kan vervangen worden):

Windows:

nslookup-type=mx port25.com

Niet-bindend antwoord:

port25.com MX preference = 100, mail exchanger = mail.port25.com

Linux:

nslookup-type=mx port25.com

Niet-bindend antwoord:

port25.com mail exchanger = 100 mail.port25.com.,

vervolgens hebben we de DNS PTR nodig voor het IP dat we gaan gebruiken. Eerst moeten we weten welk IP-adres het internet ziet dat we hebben. Om uit te vinden dat we een website kunnen gebruiken als:

met het IP-adres voer je het volgende commando uit, waarbij A. B. C. D het IP-adres is.

Windows:

nslookup-type=ptr-A. B. C. D

Niet-bindend antwoord:

D. C. B. A. in-addr.arpa name = server.example.com

Linux:

nslookup-type=ptr-A. B. C. D

Niet-bindend antwoord:

D. C. B. A.,in-addr.arpa naam = server.example.com

server.example.com is slechts een voorbeeld, en uw resultaten zullen anders zijn.

dus nu hebben we de MX record voor port25.com en de PTR voor het IP dat we gaan gebruiken, is het tijd om in te loggen op de SMTP server. Gebruik hiervoor het volgende commando:

telnet mail.port25.com 25

iets dergelijks zou nu getoond moeten worden:

het eerste commando dat we aan de mailserver moeten geven is EHLO of HELO., Dit is een basis begroeting die de communicatie start tussen de Telnet client en de SMTP server. Ook doorgegeven is de DNS PTR voor het IP-adres van waaruit we verbinden zoals eerder bepaald.

EHLO server.example.com

Iets als het volgende moeten worden geretourneerd:

250-mail.port25.com zegt hello250-STARTTLS250-ENHANCEDSTATUSCODES250-PIPELINING250-CHUNKING250-8BITMIME250-XACK250-XMRG250-SIZE 54525952250-VERP250 DSN - 

Dit toont de SMTP commando ‘ s die de SMTP-server accepteert., Niet alle SMTP-servers ondersteunen dezelfde commando ‘ s. Bijvoorbeeld, yahoo toont alleen het volgende:

250-8BITMIME250-SIZE 41943040250 PIPELINING

en aol toont slechts één met:

250 DSN

het volgende commando dat we moeten geven is het MAIL FROM Commando. Dit bepaalt het adres waarnaar bounces worden verzonden. Dit is niet hetzelfde als de Van header, dat is het e-mailadres weergegeven in een e-mailclient.

MAIL FROM: <[email protected]>250 2.1.,0 MAIL ok

nu het MAIL FROM commando is verzonden kunnen we het RCPT naar Commando sturen. Dit commando vertelt de SMTP-mailserver aan wie het bericht moet worden verzonden. Dit kan hetzelfde of anders zijn dan de koptekst, het e-mailadres dat wordt weergegeven in de e-mailclient.

RCPT TO: <[email protected]>250 2.1.5 <[email protected]> ok

het laatste commando dat wordt uitgevoerd voordat de inhoud van het bericht wordt gestart, is het DATA Commando., Dit commando laat de SMTP-mailserver weten dat alles wat op het punt staat te worden verzonden de inhoud van het bericht is (die ook de headers bevat).

DATA354 send message

het is belangrijk op te merken dat als een mailserver PIPELINING ondersteunt, zoals mail.port25.com doet, de SMTP mailserver kan wachten tot de data commando is uitgegeven alvorens te reageren op andere commando ‘ s na de EHLO/HELO. Voer in dit geval de commando ‘ s MAIL FROM, RCPT TO EN DATA in voordat u op een antwoord wacht.,

nu het DATA commando is verzonden kunnen we beginnen met het verzenden van de inhoud van het bericht. Dit begint met de verschillende headers. Een bericht moet minimaal een koptekst voor aan, van, onderwerp en datum bevatten. De hier ingevoerde headers zullen aan de gebruiker worden getoond in hun e-mailclient.

met de headers ingesteld, voegen we nu een lege regel toe met een carriage return/line feed (druk tweemaal op enter) en dan starten we de eigenlijke inhoud van het bericht.

Hello World,Dit is een testbericht verzonden vanuit een handmatige telnet-sessie.,Ondergetekende, SMTP administrator

als het bericht compleet is, moeten we de SMTP-server vertellen dat we klaar zijn met het bericht en willen dat de SMTP-mailserver het accepteert. Dit wordt gedaan met een punt op een lijn op zichzelf. Als tijdens het schrijven van een bericht een punt op een regel op zichzelf nodig is, moet je 2 punten plaatsen, de eerste ontsnapt de tweede.

. 2.6.0 bericht ontvangen

tot slot wordt het QUIT commando verzonden om de verbinding te sluiten:

QUIT221 2.0.0 mail.poort 25.,com zegt vaarwel

met dat de mailserver nu het bericht heeft geaccepteerd voor levering, en het zou in de inbox van de RCPT moeten zitten om te adresseren!!!

Hier zijn alle opdrachten zonder onderbreking:

~ Scott