Emailen vanuit Excel

Alternatief

Als alternatief kan je ook een command line utility gebruiken zoals bvb. SendEmail. SendEmail is een klein uitvoerbaar bestand (een .exe bestand) dat het versturen van de mail(s) op zich zal nemen. Wel moeten er een aantal argumenten (parameters) doorgegeven worden aan het programma:

  • Emailadres van de bestemmeling(en)
  • Emailadres van de verstuurder
  • De locatie van de bijlage(n) (attachment)
  • De SMTP server die het mailtje verstuurt
  • CC, BCC
  • Onderwerp en inhoud van de mail

In de good old DOS command prompt kan je dus gerust een mailtje versturen door de juiste argumenten mee op te geven, en dan SendEmail zijn werk te laten doen. "What's the deal?" hoor ik jullie dan zeggen. Niemand gaat toch mails versturen vanuit DOS? Inderdaad niet. Het leuke is dat je dit ook vanuit Excel VBA kan doen. Zonder enige beveiligingswaarschuwing. En je kan veel verder gaan: automatiseren. Je zou bvb. in een Excel werkblad de dagelijkse/ wekelijkse rapportagemails kunnen afhandelen:

  • In kolom A: naam van de bestemmeling
  • In kolom B: emailadres van de bestemmeling
  • In kolom C: locatie van een bijlage (kan best verschillen per bestemmeling)
  • In kolom D: het onderwerp van de mail
  • enz.

Schrijf een lus doorheen die rijen, en je bent klaar. Zet een knop op het werkblad, en met een simpele druk erop zijn ineens bvb. 50 gepersonaliseerde mails verstuurd.

Wat heb je hiervoor nodig?

  • SendEmail. Zet dit bvb. op de C:\ schijf.
  • VBA-code zoals ik geschreven heb in het bestand dat je ook kan downloaden op pagina 1: vul in dat bestand de cellen bovenaan JUIST in en druk op de knop.

ProviderSMTP server
Skynet (ADSL)relay.skynet.be
Telenetuit.telenet.be
Tiscalimail.tiscali.be
UPCsmtp.upcmail.nl
Chellorelay.chello.be
Planet Internetmailhost.pi.be
Wanadoosmtp.wanadoo.be
Onlinerelay.online.be
XS4allsmtp.xs4all.be

In de VBA-code gebruik je Shell om de SendEmail.exe uit te voeren met de nodige argumenten. Op het eerste zicht lijkt het veel en moeilijke code, maar dat valt allemaal best mee. Het grootste stuk van de code in MainProcedure is bedoeld om te testen op foute invoer van de gebruiker.

Laat mij gerust even weten of jij of jouw bedrijf hier handig gebruik van maakt.

Over Wim

Wim Gielis is Business Intelligence consultant en Excel expert

Andere links