[VB.Net 2005] Enviar Mail

KaLaS

Power Member
Precisava de saber qual a melhor forma de criar um programa que envie um mail ao pressiornar de um botão para mails pré defenidos.

quais são os requesitos da configuraçã da empresa em relação ao servidor de mail que presiso de saber.

Agradeço qualquer ajuda
 
Código:
' Headers necessários

Imports System.net.Mail
Imports System.Text 


' Funcão que envia o e-mail. Podes enviar para várias pessoas em simultaneo ou entao apagas o
' ciclo que tem o  MailMsg.CC.Add(all(x)) e apenas passas 1 email de cada vez a funcao
' Esta envio demora uns segundos a executar, por isso aconselho usares o BCC

Public Function SendEmailMessage(ByVal server As String, ByVal user As String, ByVal pass As String, ByVal strFrom As String, ByVal strTo As String, ByVal strMessage As String) as boolean

        Dim all() As String
        all = strTo.Split(vbCrLf)

        If all.Length = 0 Then
            Return False
        End If


        Try
            Dim MailMsg As New MailMessage(New MailAddress(strFrom.Trim()), New MailAddress(all(0)))
            MailMsg.BodyEncoding = Encoding.Default
            MailMsg.Subject = "Florikeys @ " & Now

            If all.Length > 1 Then

                For x As Integer = 1 To all.Length - 1

                    all(x) = all(x).Trim

                    If all(x) <> "" Then
                        MailMsg.CC.Add(all(x))
                    End If


                Next

            End If

            MailMsg.Body = strMessage.Trim & vbCrLf
            MailMsg.Priority = MailPriority.Normal
            MailMsg.IsBodyHtml = False


            Dim SMTPUserInfo As New System.Net.NetworkCredential(user, pass)

            'Smtpclient to send the mail message
            Dim SmtpMail As New SmtpClient
            SmtpMail.Host = server
            SmtpMail.UseDefaultCredentials = False
            SmtpMail.Credentials = SMTPUserInfo

            SmtpMail.Send(MailMsg)

            Debug.WriteLine ("SendMail: OK")

            Return True
        Catch ex As Exception

            Debug.WriteLine ("SendMail: " & ex.Message)
            Return False
        End Try

    End Function


Podes usar qualquer servidor SMTP que tenhas acesso, desde que usem sistemas simples de autenticação, ou seja, servidores que obriguem a ligações SSL nao deves conseguir usar.

Se tiveres duvidas apita.
 
Obrigado

New MailAddress(strFrom.Trim()), New MailAddress(all(0))

ESTA linha está a darme "Too many arguments to 'Public sub new()"
 
Isso deve andar ai algum parentesis a mais ou a menos...

Dim MailMsg As New MailMessage(New MailAddress(strFrom.Trim()), New MailAddress(all(0)))

Aqui não dá erros. Se continuar com erros tenta com:

Dim MailMsg As New MailMessage(New MailAddress(""), New MailAddress(""))

esta linha nao deve funcionar mas ja deveria compilar.
 
Back
Topo