NKB18 - SmtpMail - Email versturen met ASP.NET
Het versturen van e-mail vanuit ASP.NET is eenvoudig mogelijk met het CDOSYS message component. Dit document geeft hier een voorbeeld van.
SmtpMail Class
De SmtpMail Class bevat een methode Send, welke 4 parameters accepteert, te weten: a) het e-mailadres van de verzender, b) het e-mailadres van de ontvanger, c) het onderwerp en d) de body (tekst) van het bericht:
SmtpMail.Send(from, mailto, subject, body)
Meer is voor het versturen van een eenvoudig bericht niet nodig.
MailMessage Class
Voor het maken van een meer uitgebreide procedure, bijvoorbeeld om attachements te versturen, is de MailMessage Class beschikbaar. In plaats van de vier eerder genoemde parameters, kan een MailMessage object als parameter worden opgegeven aan het SmtpMail object, zodat de informatie die het MailMessage object bevat wordt gebruikt voor het versturen van het bericht:
SmtpMail.Send(Mail.MailMessage)
Voorbeeld
Het navolgende voorbeeld is gebouwd rond de 2e methode. Dit maakt het voorbeeld eenvoudig uitbreidbaar. Wanneer u functionaliteit als het versturen van attachements wilt toevoegen, is dat eenvoudig mogelijk door het instellen van de eigenschappen van het MailMessage object. Zie de .NET Framework SDK voor een overzicht van de mogelijke eigenschappen.
Het voorbeeld bevat een Sendmail() functie. Deze is zo opgezet dat de mail altijd wordt verstuurd via de Microsoft SMTP Server die op de webserver draait (de lokale smtp server).
Script downloaden
Klik hier om het script te downloaden
<%@ Page Language="VB" Debug="true" %>
<%@ Import Namespace="System.Web.Mail" %>
<script language="VB" runat="server">
Function SendMail(sBericht As String) As Boolean
'------------------------------------------------------------------------------
' Een procedure voor het versturen van mail vanuit een asp.net-pagina.
'------------------------------------------------------------------------------
Dim objMessage As MailMessage
Dim sVerzender As String, sOntvanger As String, sOnderwerp As String
sVerzender = "mailscript@uwdomeinnaam.nl"
sOntvanger = "info@uwdomeinnaam.nl"
sOnderwerp = "een test bericht van uw website"
Try
objMessage = New MailMessage()
objMessage.From = sVerzender
objMessage.To = sOntvanger
objMessage.Subject = sOnderwerp
objMessage.Body = sBericht
'// De smtp server instellen. Belangrijk - deze leeg maken en houden,
'// zodat de lokale smtp server wordt gebruikt (= meest efficient).
SmtpMail.SmtpServer = ""
'// De mail versturen.
SmtpMail.Send(objMessage)
Catch objExcept As Exception
Return False
End Try
Return True
End Function
</script>
<html>
<head>
<title>Nedcomp Hosting - SmtpMail voorbeeld</title>
</head>
<body>
<%
Dim sText As String
sText = "Dit bericht is verstuurd vanuit uw website."
If SendMail(sText) Then %>
<p>Het bericht is verstuurd.</p>
<% Else %>
<p>Er trad een fout op bij het maken of versturen van het bericht.</p>
<% End If %>
</body>
</html>
NKB18 - Nedcomp Hosting, 18-8-2002
|