Criar um programa através da linguagem Visual Basic para enviar emails é fácil, mas esta linguagem ainda na versão 6 não tinha suporte para smpt como o Visual Basic 2005 ou .NET. Existem duas maneiras fáceis de contornar o problema:
1) Usar o servidor virtual de SMTP do IIS para enviar email através da biblioteca CDONT que pode tanto ser usada no Visual Basic como em ASP (linguagem de páginas Web). Infelizmente o arquivo cdonts.dll foi abolido pela Microsoft desde o XP mas você pode baixa-lo aqui – cdonts dll email. Após baixar o arquivo, coloque na pasta system32 do Windows e registre com o comando regsvr32 cdonts.dll. Veja mais instruções na página dos forums da Microsoft do CDONTS.
2) Usando o componente SMTP OstroSoft SMTP Component (ossmtp.dll). Esta dll é uma ótima alternativa, permite conexões com segurança e é bem mais flexível que o cdont. Veja as instruções na páginda do desenvolvedor.
Para enviar email via Visual Basic 2005, crie uma classe para enviar email, na primeira linha:
Imports Microsoft.VisualBasic
Imports System.net.Mail
Imports System.IO
Public Class SendEmail
Public arquivoWS As StreamWriter
Public Sub SendEmailMessage(ByVal strFrom As String, ByVal strTo _
As String, ByVal strSubject _
As String, ByVal strMessage _
As String, ByVal file As String, ByVal strHost As String,_
ByVal bSSL As Boolean, _
ByVal Porta As Integer, _
ByVal autenticacao As Boolean)
Dim theCredential As New System.Net.NetworkCredential("LOGIN", "SENHA")
try
Dim MailMsg As New MailMessage(New MailAddress(strFrom.Trim()), New MailAddress(strTo))
MailMsg.BodyEncoding = System.Text.Encoding.Default
MailMsg.Subject = strSubject.Trim()
MailMsg.Body = strMessage.Trim() & vbCrLf
MailMsg.Priority = MailPriority.High
MailMsg.IsBodyHtml = True
If Not file = "" Then
Dim MsgAttach As New Attachment(file)
MailMsg.Attachments.Add(MsgAttach)
End If
Dim SmtpMail As New SmtpClient
SmtpMail.Host = strHost
SmtpMail.Port = Porta
If bSSL = True Then SmtpMail.EnableSsl = True
SmtpMail.DeliveryMethod = SmtpDeliveryMethod.Network
If autenticacao = True Then
SmtpMail.UseDefaultCredentials = False
SmtpMail.Credentials = theCredential
End If
SmtpMail.Send(MailMsg)
Catch ex As Exception
End Try
End Sub
End Class
Stay connected