Total conversion from C# to VB.NET. There may be some syntax issues, etc.
Code:
Imports System
Imports System.ComponentModel
Imports System.Net
Imports System.Net.Mail
Namespace SendMail
Friend Class Mailer
''' <summary>
''' Sends an email using the provided parameters.
''' </summary>
''' <param name="smtpInfo">The SMTPInfo struct filled with your needed SMTP connection info.</param>
''' <param name="from">The email address to send from.</param>
''' <param name="to">An array of names to send the email to. (Can be simply a single email address, this allows for multiple recipients of the same message.</param>
''' <param name="message">The body of the email.</param>
''' <param name="subject">The subject of the email.</param>
Public Shared Sub SendEmail(ByVal smtpInfo As SMTPInfo, ByVal from As String, ByVal [to] As String(), ByVal message As String, ByVal subject As String)
Try
For Each recipient As var In [to]
' Get a new MailMessage to be sent and fill it with the info we need.
Dim msg As New MailMessage(New MailAddress(from), New MailAddress(recipient))
msg.Subject = subject
msg.Body = message.Trim() + Environment.NewLine
msg.Priority = MailPriority.High
msg.IsBodyHtml = True
' Setup the SMTP Client info.
Dim client As New SmtpClient(smtpInfo.Host, smtpInfo.Port)
If smtpInfo.SSL Then
client.EnableSsl = True
End If
If smtpInfo.Auth Then
client.Credentials = New NetworkCredential(smtpInfo.Name, smtpInfo.Pass)
End If
AddHandler client.SendCompleted, AddressOf SmtpClient_OnCompleted
' Hook the SendCompleted event so we can do some post processing and send the email.
client.Timeout = 60
Dim tmp As Object = msg
client.SendAsync(msg, tmp)
Next
Catch ex As Exception
End Try
End Sub
Private Shared Sub SmtpClient_OnCompleted(ByVal sender As Object, ByVal e As AsyncCompletedEventArgs)
' Add your event handler stuff here.
' MailMessage mail = (MailMessage) e.UserState;
End Sub
End Class
''' <summary>
''' Information to setup a SMTP host connection.
''' </summary>
Friend Structure SMTPInfo
''' <summary>
''' Constructor for the SMTPInfo struct.
''' </summary>
''' <param name="host">The SMTP Host. (Either fully qualified HTTP address [http://www.yoursmtphost.com] or the IP address.</param>
''' <param name="name">If the SMTP host requires authentication, this will be your username. Can be set to null.</param>
''' <param name="pass">If the SMTP host requires authentication, this will be your password. Can be set to null.</param>
''' <param name="port">The SMTP host's port.</param>
''' <param name="secureSSL">If the SMTP host uses an SSL connection (https://www.mail.google.com for example) set this to true.</param>
''' <param name="requiresAuth">If the SMTP host requires authentication, set this to true. This will use your Name and Pass to login.</param>
Public Sub New(ByVal host As String, ByVal name As String, ByVal pass As String, ByVal port As Integer, ByVal secureSSL As Boolean, ByVal requiresAuth As Boolean)
Host = host
Name = name
Pass = pass
Port = port
SSL = secureSSL
Auth = requiresAuth
End Sub
Public Auth As Boolean
Public Host As String
Public Name As String
Public Pass As String
Public Port As Integer
Public SSL As Boolean
End Structure
End Namespace