Bereik

Grow

Manage

Automate

Bereik

Grow

Manage

Automate

Hoe controleer je een SMTP-verbinding met een handmatige Telnet-sessie

Bird

7 feb 2020

E-mail

1 min read

Hoe controleer je een SMTP-verbinding met een handmatige Telnet-sessie

Bird

7 feb 2020

E-mail

1 min read

Hoe controleer je een SMTP-verbinding met een handmatige Telnet-sessie

In de wereld van e-mail zijn er veel facetten van testen, maar een van de meest basale tests die je kunt doen, is simpelweg telnetten naar een gegeven SMTP-server. Deze SMTP-controle is nuttig om te bepalen of de meest basale problemen al dan niet bestaan.

In de wereld van e-mail zijn er veel aspecten aan het testen, maar een van de meest basale tests die je kunt doen, is eenvoudigweg telnetten naar een gegeven SMTP-server.  Deze SMTP-controle is nuttig bij het bepalen of de meest basale problemen wel of niet bestaan.

  • Is de server online?

  • Wordt de communicatie geblokkeerd door een firewall?

  • Staat de mailserver relayen van een bepaald domein/emailadres toe?

  • Welke SMTP-commando's ondersteunt de mailserver?

  • Reageert de server met de correcte hostnaam?

  • Werkt de verbinding zonder derde partijsoftware of API's?

Al deze vragen en meer kunnen worden beantwoord met een simpele telnettest.

Voordat we beginnen, zorg ervoor dat je ons begeleidende stuk bij dit bericht opent: Waar worden bounceberichten naartoe gestuurd? in een nieuw tabblad zodat je het kunt lezen nadat je klaar bent met deze blog.

Als een opmerking, de commando's die in de volgende voorbeelden worden gebruikt (evenals aanvullende commando's) worden behandeld in sectie 4.1 van RFC 2821.

Hoe verstuur ik een e-mail met Telnet?

E-mail verzenden via telnet kan u helpen leverbaarheidsproblemen binnen uw huidige configuratie te identificeren.

Voordat u een e-mail verzendt met telnet, controleert u of telnet zowel geïnstalleerd als ingeschakeld is op uw computer. De meeste computers worden vooraf geïnstalleerd met een telnet-client. Voor die Windows-versies die dat niet doen, kan er één worden geïnstalleerd door het gedeelte 'Programma's en onderdelen' van het configuratiescherm te openen en 'Windows-onderdelen in- of uitschakelen' te selecteren. Zodra dit venster open is, selecteert u 'telnet client' en klikt u vervolgens op OK.

Zodra een telnet-client is geverifieerd als geïnstalleerd op de server, opent u het terminalvenster waarin u uw opdrachtprompt invoert. Op Windows gebruikt u de Windows + R, typt u “cmd” en drukt u op enter. Voor Mac-gebruikers vindt u het terminalpictogram door Finder te openen en naar 'Hulpprogramma’s' te zoeken op de Applicaties-pagina of door 'terminal' in de Launchpad-zoekfunctie in te voeren.

Vervolgens moeten we een mailserver vinden om in te loggen. Hiervoor hebben we het DNS MX-record voor een gegeven domein nodig. Dit kan worden gevonden met het volgende commando (voor deze voorbeelden wordt port25.com gebruikt, maar elk domein kan worden vervangen):

Windows:

nslookup -type=mx port25.com

Niet-authentiek antwoord:

port25.com  MX-voorkeur = 100, mail exchanger = mail.port25.com

Linux:

nslookup -type=mx port25.com

Niet-authentiek antwoord:

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

SMTP gebruikt een van de drie poorten — 25, 465 of 587, die Microsoft Outlook vaak gebruikt. Voor geavanceerde configuratie en optimalisatie van mailservers, raadpleeg onze gids over PowerMTA-configuratietips. Als uw SMTP-relay een andere poort dan 25 gebruikt zoals in het voorbeeld wordt weergegeven, gebruikt u de poort die is gespecificeerd in het antwoord van de mail exchange-server op de nslookup. U kunt ook de poort verifiëren waarop uw SMTP vertrouwt door uw beheerder te vragen of in te loggen op de mail exchange-server en de protocollen te controleren.

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

http://whatismyipaddress.com/

Met het IP-adres voert u het volgende commando uit, waarbij A.B.C.D het IP-adres is.

Windows:

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

Niet-authentiek antwoord: 

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

Linux:

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

Niet-authentiek 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 we het 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 vergelijkbaars met het volgende zou nu moeten worden weergegeven:

Proberen 69.63.149.30... Verbonden met mail.port25.com (69.63.149.30). Ontsnapteken is '^]'. 220 mail.port25.com (PowerMTA(TM) v4.0) ESMTP-service gereed

Als u op dit punt een foutmelding zoals 'kan niet verbinden' ontvangt, is het poortnummer ofwel correct of heeft de mailserver problemen.

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

EHLO server.example.com

Iets vergelijkbaars met het volgende zou moeten worden geretourneerd:

250-mail.port25.com zegt hallo 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250-8BITMIME 250-XACK 250-XMRG 250-SIZE 54525952 250-VERP 250 DSN

Dit toont de SMTP-commando's die de SMTP-server accepteert.  Niet alle SMTP-servers ondersteunen dezelfde sets commando's. Yahoo bijvoorbeeld toont alleen het volgende:

250-8BITMIME 250-SIZE 41943040 250 PIPELINING

En aol toont er maar één met:

250 DSN

Het volgende commando dat we moeten geven is het MAIL FROM commando.  Dit bepaalt het adres waarnaar bounces worden gestuurd. Dit is niet hetzelfde als de van header, wat het e-mailadres is dat wordt weergegeven in een e-mailclient.

MAIL FROM: <support@port25.com> 250 2.1.0 MAIL ok

Zorg ervoor dat u de domeinnaam gebruikt die overeenkomt met het domein van uw mailserver. Als het domein van uw e-mail bijvoorbeeld anycompany.com is, gebruik dan je@anycompany.com in plaats van een extern e-mail als je@free-mail-provider.com. Variaties in domeinnamen kunnen ervoor zorgen dat er een foutmelding verschijnt.

Nu het MAIL FROM commando is verzonden kunnen we het RCPT TO commando verzenden.  Dit commando vertelt de SMTP-mailserver naar wie het bericht moet worden verzonden. Dit kan hetzelfde of anders zijn dan de to header, wat het e-mailadres is dat in de e-mailclient wordt weergegeven.

RCPT TO: <support@port25.com> 250 2.1.5 <support@port25.com> ok

Controleer het adres van uw ontvanger dubbel voordat u het RCPT TO-commando verzendt — een foutmelding die hier wordt weergegeven kan wijzen op een verkeerd gespelde of geblokkeerde e-mailontvanger.

Het laatste commando dat moet worden uitgevoerd voordat het verzender van het bericht begint, is het DATA-commando.  Dit commando laat de SMTP-mailserver weten dat alles wat nu wordt verzonden de body van het bericht is (dat ook de headers bevat).

DATA 354 verzend bericht

Het is belangrijk op te merken dat als een mailserver PIPELINING ondersteunt, zoals mail.port25.com doet, de SMTP mailserver mogelijk wacht totdat het DATA-commando is gegeven voordat hij antwoord geeft op eventuele andere commando's na de EHLO/HELO.  In dit geval voert u de MAIL FROM, RCPT TO en DATA commando's uit voordat u wacht op een antwoord.

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 to, from, subject en date header bevatten. De headers die hier worden ingevoerd, worden aan de gebruiker in hun e-mailclient getoond.

Van: "John Smith" <jsmith@port25.com> Aan: "Jane Doe" <jdoe@port25.com> Onderwerp: testbericht verzonden vanuit handmatige telnet-sessie. Datum: Wed, 11 May 2011 16:19:57 -0400

Met de headers ingesteld voegen we nu één blanco regel toe met een carriage return/line feed (druk gewoon twee keer op enter) en dan beginnen we met de eigenlijke body van het bericht.

Hallo Wereld, Dit is een testbericht verzonden vanuit een handmatige telnet-sessie. Met vriendelijke groet, SMTP-beheerder

Met het bericht compleet moeten we de SMTP-server laten weten dat we klaar zijn met het bericht en willen dat de SMTP-mailserver het accepteert. Dit gebeurt door een punt op een aparte regel te plaatsen. Als tijdens het schrijven van een bericht een punt op een aparte regel nodig is, moet u 2 punten plaatsen, waarbij de eerste de tweede ontsnapt.

.   250 2.6.0 bericht ontvangen

Als u een foutmelding krijgt in plaats van de 'ontvangen' melding, logt u de relevante details en neemt u contact op met uw e-mailprovider voor verdere ondersteuning. Verbindingsproblemen kunnen ook gerelateerd zijn aan beveiligingsprotocollen - zorg ervoor dat u TLS 1.2 of hoger gebruikt voor veilige verbindingen.

Ten slotte wordt het QUIT-commando verzonden om de verbinding te sluiten:

QUIT 221 2.0.0 mail.port25.com zegt afscheid

Daarmee heeft de mailserver nu het bericht voor levering geaccepteerd, uw telnet-e-mailtest is voltooid en zou in de inbox van het RCPT TO-adres moeten staan!!!

Hier zijn alle commando's zonder onderbreking:

telnet mail.port25.com 25 Proberen 69.63.149.30... Verbonden met mail.port25.com (69.63.149.30). Ontsnapteken is '^]'. 220 mail.port25.com (PowerMTA(TM) v4.0) ESMTP-service gereed EHLO server.example.com 250-mail.port25.com zegt hallo 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250-8BITMIME 250-XACK 250-XMRG 250-SIZE 54525952 250-VERP 250 DSN MAIL FROM: <support@port25.com> 250 2.1.0 MAIL ok RCPT TO: <support@port25.com> 250 2.1.5 <support@port25.com> ok DATA 354 verzend bericht Van: "John Smith" <jsmith@port25.com> Aan: "Jane Doe" <jdoe@port25.com> Onderwerp: testbericht verzonden vanuit handmatige telnet-sessie. Datum: Wed, 11 May 2011 16:19:57 -0400 Hallo Wereld, Dit is een testbericht verzonden vanuit een handmatige telnet-sessie. Met vriendelijke groet, SMTP-beheerder . 250 2.6.0 bericht ontvangen QUIT 221 2.0.0 mail.port25.com zegt afscheid

Een e-mail verzenden met behulp van telnet stelt u in staat om leverbaarheidsproblemen snel te testen en tegen lagere kosten dan robuuste diagnostische apparatuur of software. Voor meer geavanceerde SMTP-testtools kunt u Swaks met SparkPost gebruiken voor uitgebreide e-mailtesten.

Hoe test ik SMTP met behulp van Telnet Authenticatie?

Nu je weet hoe je een SMTP-verbinding kunt controleren met telnet, gaan we de authenticatieprocedures bespreken. SMTP-authenticatie helpt voorkomen dat grote hoeveelheden spam de inboxen van lezers bereiken, hoewel niet alle mailwisselservers dit vereisen. Begrip van authenticatie is ook cruciaal bij het analyseren van e-mailheaders voor problemen met bezorgbaarheid.

Het belangrijkste verschil in moderne authenticatieprotocollen is de aanwezigheid van een base64-codering. Base64 zet binaire gegevens om in het ASCII-tekstformaat dat vereist is door mailservers voor succesvolle gegevensoverdracht. Het is een manier om uw inloggegevens — een combinatie van tekst — in numeriek formaat om te zetten dat de computer kan begrijpen.

Je kunt je base64 genereren met software of gratis online tools. Zodra u de informatie aan de mailserver doorgeeft, vergelijkt deze de gegevens met zijn records om authenticatie te bepalen.

Om SMTP-authenticatie via telnet te testen, voer de volgende stappen uit:

  • Open de terminal en maak verbinding met de mailserver met behulp van de telnet servernaam en toegang commando — mail.port25.com in het bovenstaande voorbeeld.

  • Begroet de server met EHLO of HELO, voer AUTH LOGIN in, en wacht op het antwoord van de computer.

  • Voer de base64-gecodeerde gebruikersnaam in en laat de server antwoorden.

  • Voer het wachtwoord dat in base64 is gecodeerd in, en u zou een reactie moeten krijgen zoals "authenticatie gelukt."

  • Ga verder met MAIL FROM, RCPT TO, DATA, en QUIT om uw geauthenticeerde e-mail te verzenden.

Nu je weet hoe je een SMTP-verbinding kunt controleren met telnet, gaan we de authenticatieprocedures bespreken. SMTP-authenticatie helpt voorkomen dat grote hoeveelheden spam de inboxen van lezers bereiken, hoewel niet alle mailwisselservers dit vereisen. Begrip van authenticatie is ook cruciaal bij het analyseren van e-mailheaders voor problemen met bezorgbaarheid.

Het belangrijkste verschil in moderne authenticatieprotocollen is de aanwezigheid van een base64-codering. Base64 zet binaire gegevens om in het ASCII-tekstformaat dat vereist is door mailservers voor succesvolle gegevensoverdracht. Het is een manier om uw inloggegevens — een combinatie van tekst — in numeriek formaat om te zetten dat de computer kan begrijpen.

Je kunt je base64 genereren met software of gratis online tools. Zodra u de informatie aan de mailserver doorgeeft, vergelijkt deze de gegevens met zijn records om authenticatie te bepalen.

Om SMTP-authenticatie via telnet te testen, voer de volgende stappen uit:

  • Open de terminal en maak verbinding met de mailserver met behulp van de telnet servernaam en toegang commando — mail.port25.com in het bovenstaande voorbeeld.

  • Begroet de server met EHLO of HELO, voer AUTH LOGIN in, en wacht op het antwoord van de computer.

  • Voer de base64-gecodeerde gebruikersnaam in en laat de server antwoorden.

  • Voer het wachtwoord dat in base64 is gecodeerd in, en u zou een reactie moeten krijgen zoals "authenticatie gelukt."

  • Ga verder met MAIL FROM, RCPT TO, DATA, en QUIT om uw geauthenticeerde e-mail te verzenden.

Nu je weet hoe je een SMTP-verbinding kunt controleren met telnet, gaan we de authenticatieprocedures bespreken. SMTP-authenticatie helpt voorkomen dat grote hoeveelheden spam de inboxen van lezers bereiken, hoewel niet alle mailwisselservers dit vereisen. Begrip van authenticatie is ook cruciaal bij het analyseren van e-mailheaders voor problemen met bezorgbaarheid.

Het belangrijkste verschil in moderne authenticatieprotocollen is de aanwezigheid van een base64-codering. Base64 zet binaire gegevens om in het ASCII-tekstformaat dat vereist is door mailservers voor succesvolle gegevensoverdracht. Het is een manier om uw inloggegevens — een combinatie van tekst — in numeriek formaat om te zetten dat de computer kan begrijpen.

Je kunt je base64 genereren met software of gratis online tools. Zodra u de informatie aan de mailserver doorgeeft, vergelijkt deze de gegevens met zijn records om authenticatie te bepalen.

Om SMTP-authenticatie via telnet te testen, voer de volgende stappen uit:

  • Open de terminal en maak verbinding met de mailserver met behulp van de telnet servernaam en toegang commando — mail.port25.com in het bovenstaande voorbeeld.

  • Begroet de server met EHLO of HELO, voer AUTH LOGIN in, en wacht op het antwoord van de computer.

  • Voer de base64-gecodeerde gebruikersnaam in en laat de server antwoorden.

  • Voer het wachtwoord dat in base64 is gecodeerd in, en u zou een reactie moeten krijgen zoals "authenticatie gelukt."

  • Ga verder met MAIL FROM, RCPT TO, DATA, en QUIT om uw geauthenticeerde e-mail te verzenden.

Laten we je in contact brengen met een Bird-expert.
Bekijk de volledige kracht van de Bird in 30 minuten.

Door te verzenden, ga je ermee akkoord dat Bird contact met je mag opnemen over onze producten en diensten.

U kunt zich op elk moment afmelden. Zie Bird's Privacyverklaring voor details over gegevensverwerking.

Nieuwsbrief

Blijf op de hoogte met Bird via wekelijkse updates in je inbox.

Laten we je in contact brengen met een Bird-expert.
Bekijk de volledige kracht van de Bird in 30 minuten.

Door te verzenden, ga je ermee akkoord dat Bird contact met je mag opnemen over onze producten en diensten.

U kunt zich op elk moment afmelden. Zie Bird's Privacyverklaring voor details over gegevensverwerking.

Nieuwsbrief

Blijf op de hoogte met Bird via wekelijkse updates in je inbox.

Laten we je in contact brengen met een Bird-expert.
Bekijk de volledige kracht van de Bird in 30 minuten.

Door te verzenden, ga je ermee akkoord dat Bird contact met je mag opnemen over onze producten en diensten.

U kunt zich op elk moment afmelden. Zie Bird's Privacyverklaring voor details over gegevensverwerking.

R

Bereik

G

Grow

M

Manage

A

Automate

Nieuwsbrief

Blijf op de hoogte met Bird via wekelijkse updates in je inbox.