Test je smtp-servers met swaks

tool

Artikelgereedschap

  • Tip ons
  • Printen
  • Reacties (5)
Aanbevelen

Gepubliceerd: Dinsdag 22 maart 2011
Auteur: Koen Vervloesem

Wil je een smtp-server testen of complexe zaken scripten, dan kan swaks je hierbij helpen: deze tool (SWiss Army Knife Smtp) handelt alle smtp-taken voor je af en toont je alle in- en uitvoer.

Uiteraard kun je met telnet (voor smtp) of openssl (voor smtps) handmatig smtp-verbindingen opzetten om een server te debuggen, maar dat vereist wel dat je de smtp-syntax goed onder de knie hebt en geen typefouten maakt. Het programma swaks neemt je al deze taken uit handen.

Testmail

Om een testmail naar iemand te sturen op de standaardpoort 25 van een mailserver, gebruik je:


$ swaks --to gebruiker@voorbeeld.nl --server test.voorbeeld.net

=== Trying test.voorbeeld.net:25...
=== Connected to test.voorbeeld.net.
<- 220 test.voorbeeld.net ESMTP
-> EHLO zen.lan
<- 250-test.voorbeeld.net
<- 250-8BITMIME
<- 250 SIZE 16777216
-> MAIL FROM:

<** 553 #5.1.8 Domain of sender address does not exist

-> QUIT
<- 221 test.voorbeeld.net
=== Connection closed with remote host.

Je krijgt dus de in- en uitvoer te zien en kunt zo onmiddellijk problemen diagnoseren. Hier zie je dat het probleem is dat de mailserver het from-adres niet aanvaardt, omdat het niet bestaat (in dit geval een adres in het LAN). Dat los je op door een bestaand from-adres op te geven, en dan krijg je dit:


$ swaks --to gebruiker@voorbeeld.nl --from koen@voorbeeld.nl --server test.voorbeeld.net

=== Trying test.voorbeeld.net:25...
=== Connected to test.voorbeeld.net.
<- 220 test.voorbeeld.net ESMTP
-> EHLO zen.lan
<- 250-test.voorbeeld.net
<- 250-8BITMIME
<- 250 SIZE 16777216
-> MAIL FROM:
<- 250 sender ok
-> RCPT TO:
<- 250 recipient ok
-> DATA
<- 354 go ahead
-> Date: Mon, 21 Mar 2011 15:52:15 +0100
-> To: gebruiker@voorbeeld.nl
-> From: koen@voorbeeld.nl

-> Subject: test Mon, 21 Mar 2011 15:52:15 +0100

-> X-Mailer: swaks v20100211.0 jetmore.org/john/code/swaks/

->
-> This is a test mailing
->
-> .
<- 250 ok: Message 498060401 accepted
-> QUIT
<- 221 test.voorbeeld.net
=== Connection closed with remote host.

Maar swaks gaat veel verder. Je kunt zelf een mail body kiezen met --body, headers toevoegen met --header-HEADERNAAM, met --attach een attachment toevoegen, met --auth het type authenticatie kiezen (en dan met --auth-user en --auth-password de gebruikersnaam respectievelijk het wachtwoord), enzovoort. Bij de serveroptie kun je ook de poort achter een : opgeven, of je geeft de poort afzonderlijk op met de optie --port. Verder kun je het protocol kiezen met --protocol (standaard ESMTP) en het programma kent opties voor gebruik met TLS/SSL.

Configuratie

Gebruik je vaak dezelfde opties, dan kun je deze het beste in een configuratiebestand zetten. Standaard leest swak opties in uit het bestand ~/.swaksrc, maar je kunt een ander configuratiebestand opgeven met de optie --config. Wil je bijvoorbeeld voor al je tests hetzelfde from-adres gebruiken, dan zet je in ~/.swaksrc:


--from koen@voorbeeld.nl

Een andere manier is om de opties in omgevingsvariabelen in te stellen van de vorm SWAKS_OPT_optienaam. Het from-adres stellen we bijvoorbeeld in met:


export SWAKS_OPT_from="koen@voorbeeld.nl"

Scripts

Swaks is ook heel handig in gebruik voor scripts. Bekijk de man-pagina maar eens voor de vele opties. Swaks heeft bovendien ongewoon veel exit-codes, waardoor je in een script aan deze code vrij goed kunt zien wat er fout gelopen is en dus heel eenvoudig op basis daarvan het verdere verloop van het script kunt baseren. Al met al verdient swaks dus zeker zijn naam als Zwitsers zakmes voor SMTP.

De rubriek Tips & Tools biedt praktische informatie die IT-professionals in hun dagelijkse werk kunnen toepassen.

Nieuwsbrief

Ontvang dagelijks een overzicht van het laatste ICT-Nieuws in uw mailbox

Whitepapers

  • Maximaliseer het voordeel van SaaS

    Cloud-applicaties hebben grote invloed op het gebruik van de IT-architectuur en niet ieder project levert de verwachte voordelen op.

    Downloaden
  • Flexibele IT noodzaak voor bankenOnderzoeksrapport over de beperkte flexibiliteit van veel IT-systemen in de bancaire wereld. Lees meer!
  • Kostenbesparing voor long tail appsOplossing voor kostenkwesties in VDI. Technologie geschikt voor long tail apps.
» Meer whitepapers

Peiling

Loading Poll

Video: Review: HTC One X-smartphone met vijf...

Review: HTC One X-smartphone met vijf cores (video)