nedcomp hosting homepage

Producten en diensten
Dedicated servers
Datacenter informatie
Partners, resellers
Helpdesk informatie
Technische docs, tools
Support homepage
ASP componenten
Praktische ASP, ASP.NET
Visual route server
Whois (domein gegevens)
Software documentatie
Whitepapers
Zoeken
Nedcomp / algemeen

Zoeken
 

Copyright © Nedcomp Hosting
Telefoon nr :   +31 184 670111
Fax nummer :   +31 184 631384
E-mailadres :   info@nedcomp.nl
 

NKB67 - CDOSYS - een vb.net procedure


Klik hier om de broncode te downloaden


file: web.config

<configuration>

   <appSettings>
      <add key="backupsmtpserver" value="smtp.uwdomein.nl" />
      <add key="providermailadres" value="beheer@uwdomein.nl" />
   </appSettings>

  <system.web>
  </system.web>

</configuration>


file: smtpmail2.vb

Imports System.Web.Mail
Imports System.Text.RegularExpressions

Public Class smtpmail2
    Inherits System.Web.UI.Page

    Public Function SendMail(ByVal sSender As String, ByVal sRecipient As String, ByVal sSubject As String, _
           ByVal sMessage As String) As Boolean
        '------------------------------------------------------------------------------------------------------------------
        ' Mail versturen via de locale mailserver, of een alternatieve server als de locale server faalt.
        '------------------------------------------------------------------------------------------------------------------
        Dim objMessage As MailMessage

        Try
            objMessage = New MailMessage()
            If InStr(sMessage, "</html>") > 0 Then objMessage.BodyFormat = 1
            objMessage.From = sSender
            objMessage.To = sRecipient
            objMessage.Subject = sSubject
            objMessage.Body = sMessage

        Catch objExcept As Exception

            Return False
        End Try

        Try

            '// 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)
            Return True

        Catch objExcept As Exception

            Try

                '// De mail kon niet worden verstuurd via de lokale smtp server.
                '// Een backup mailserver gebruiken om de mail alsnog af te leveren.
                SmtpMail.SmtpServer = ConfigurationSettings.AppSettings("backupsmtpserver")
                SmtpMail.Send(objMessage)

            Catch objExcept2 As Exception
                Return False
            End Try

            If IsValidEMailadres(ConfigurationSettings.AppSettings("providermailadres")) Then

                '// Nedcomp Beheer inlichten over het probleem met de lokale smtp-server,
                '// zodat zij maatregelen kunnen nemen.
                sMessage = "Er trad een fout op bij het gebruik van de lokale smtp-server van " _
                        & Request.ServerVariables("SERVER_NAME") & vbCrLf & vbCrLf _
                        & "Exception: " & objExcept.Message

                objMessage.Body = sMessage
                objMessage.To = ConfigurationSettings.AppSettings("providermailadres")
                SmtpMail.Send(objMessage)
            End If
        End Try

        Return True
    End Function

    Private Function IsValidEMailadres(ByVal sEmailadres As String) As Boolean
        '------------------------------------------------------------------------------------------------------------------
        ' Controleren of een e-mailadres een geldige syntaxis heeft.
        '------------------------------------------------------------------------------------------------------------------
        Try
            If sEmailadres & "" = "" Then Return False
            Dim objRegex As New Regex("[\w-]+@([\w-]+\.)+[\w-]+")
            IsValidEMailadres = objRegex.IsMatch(sEmailadres)
            objRegex = Nothing

        Catch objExcept As Exception

            Return False
        End Try
    End Function

End Class


NKB67 - Nedcomp Hosting, 24-3-2003