Je bent hier: ITFAQ.nl » Blog » Webdevelopment » E-mail versturen vanaf jouw website in classic ASP

E-mail versturen vanaf jouw website in classic ASP

Je wilt graag e-mails versturen vanaf jouw website met ASP, op een goede en veilige manier? In classic ASP (of VBScript) gebruik je CDOSYS om e-mail te versturen vanaf een website gehost op Windows Server IIS, en met het CDO.Configuration object configureer je CDOSYS om dat via TLS en authenticated SMTP te doen. Mooi hè? :)

Dit artikel richt zich op het gebruik van CDOSYS, in combinatie met authenticated SMTP en TLS-versleuteling. Deze twee voorwaarden zijn verplicht bij Vevida om van smtp.vevida.com gebruik te kunnen maken voor het versturen van een e-mail vanaf jouw website. Veel andere hostingproviders hanteren diezelfde voorwaarden.

Standaard maakt CDOSYS gebruik van de in Windows ingebouwde “pick-up directory”, waar vanuit de IIS SMTP-service alle berichten verstuurt die daar worden geplaatst. Bij sommige hostingproviders moet je de configuratie van CDOSYS aanpassen om van een externe SMTP-server gebruik te maken. Bijvoorbeeld smtp.vevida.com.

Voor deze SMTP-server moet ook geconfigureerd zijn dat de verbinding met TLS versleuteld is. En er moet met een e-mailadres en wachtwoord op de SMTP-server worden ingelogd, dit heet SMTP-authenticatie. Dit draagt zorg voor een betere beveiliging van uw gegevens en een hogere zekerheid van de e-mailbezorging bij de ontvanger. Hiervoor is het CDO.Configuration object nodig.

Een voorbeeldfunctie in ASP/VBScript, waar alles in zit, is:

<%@ Language=VBScript %>
<%
Sub send_eMail()
	Dim myMail, Fields, strFrom, strTo	 	 
	strFrom = "e-mailadres verzender"	 	 
	strTo = "e-mailadres ontvanger"
	
	' http://msdn.microsoft.com/en-us/library/ms526318(v=exchg.10).aspx
	' Its good practice to use the module constants defined in the
	' type library for the names. The full names are used here to
	' indicate that this is what is going on

	' 
	Const cdoSendUsingMethod = "http://schemas.microsoft.com/cdo/configuration/sendusing"
	Const cdoSendUsingPort = 2
	Const cdoSMTPServer = "http://schemas.microsoft.com/cdo/configuration/smtpserver"
	Const cdoSMTPServerPort = "http://schemas.microsoft.com/cdo/configuration/smtpserverport"
	Const cdoSMTPConnectionTimeout = "http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout"
	Const cdoSMTPAuthenticate = "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"
	Const cdoBasic = 1
	Const cdoSendUserName = "http://schemas.microsoft.com/cdo/configuration/sendusername"
	Const cdoSendPassword = "http://schemas.microsoft.com/cdo/configuration/sendpassword"

	' Use SSL for the connection (False or True)
	Const cdoSendTLS = "http://schemas.microsoft.com/cdo/configuration/smtpusessl"
	
	Set myMail = CreateObject("CDO.Message")
	Set myMail.Configuration = CreateObject("CDO.Configuration")
	Set Fields = myMail.Configuration.Fields

	' SMTP-configuratie
	With Fields
		.Item(cdoSendUsingMethod) = cdoSendUsingPort
		.Item(cdoSMTPServer) = "smtp.vevida.com"
		.Item(cdoSMTPServerPort) = 25
		.Item(cdoSMTPConnectionTimeout) = 10
		.Item(cdoSMTPAuthenticate) = cdoBasic
		.Item(cdoSendUserName) = "gebruikersnaam"
		.Item(cdoSendPassword) = "wachtwoord"
		.Item(cdoSendTLS) = true
		.Update
	End With

	' Stel afzender, ontvanger, onderwerp en bericht in
	myMail.From = strFrom
	myMail.To = strTo
	myMail.Subject = "Dit is het onderwerp van mijn bericht."
	myMail.TextBody = "Dit is de tekst van mijn bericht."

	' Verstuur de e-mail
	myMail.Send

	' Verwijder de objecten
	Set Fields = nothing
	Set myMail.Configuration = nothing
	Set myMail = nothing
End Sub

%>Code language: VBScript (vbscript)

Verander “gebruikersnaam” met het e-mailadres van de verzender en “wachtwoord” met het bijbehorende wachtwoord.

Dit is een ASP Sub en dient als zodanig aangeroepen te worden:

<%@ Language=VBScript %>
<% send_eMail() %>Code language: VBScript (vbscript)

Door de regels Sub send_eMail() en End Sub te verwijderen is dit eenvoudig in een bestaand ASP-script of formulier te verpakken.

Doneer €5, 10 of 15 via Paypal. Dank je <3 ❤️

Laat een reactie achter

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Scroll naar boven