1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[VB.Net 2005] Enviar Mail

Discussão em 'Programação' iniciada por KaLaS, 8 de Agosto de 2008. (Respostas: 3; Visualizações: 1079)

  1. KaLaS

    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
     
  2. iznougud

    iznougud I quit My Job for Folding

    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.
     
  3. KaLaS

    KaLaS Power Member

    Obrigado

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

    ESTA linha está a darme "Too many arguments to 'Public sub new()"
     
  4. iznougud

    iznougud I quit My Job for Folding

    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.
     

Partilhar esta Página