VB6 - VBA Envio de e-mail com o objeto CDO

Novembro 2016



Autor lermite222
18/04/2013

Se o PC Host não dispõe da aplicação Outlook você pode se servir do objeto CDO para enviar seus e-mails.

A desvantagem com CDO é que é preciso configurar com os parâmetros de seu servidor, alguns hosts como Gmail necessita de uma autenticação (sua senha) e uma conexão protegida (SSL)

Esta demonstração implementa todos os parâmetros necessários.

Sub DEMO_EnvoiMailCDO()   
Dim mMessage As Object   
Dim mConfig As Object   
Dim mChps   
       
    Set mConfig = CreateObject("CDO.Configuration")   
       
    mConfig.Load -1   
    Set mChps = mConfig.Fields   
    With mChps   
        .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2   
        'Adaptar de acordo com seu servidor de e-mail  (exemplo para Gmail.)=> Hormail "smtp.live.com"   
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"   
        'Em princípiio, 25 funciona com todos os servidores. 
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25   
           
        'Você pode tentar sem estas três linhas  
        'Mas se seu servidor solicita uma autenticação   
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = "1"   
        .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "MyMail@gmail.com"   
        .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "MyCodePass"   
        'Se seu servudor solicita uma conexão protegida (SSL)   
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = "true"   
        .Update   
    End With   
       
    Set mMessage = CreateObject("CDO.Message")   
    With mMessage   
    Set .Configuration = mConfig   
        .To = "LeClient@hotmail.com"   
        .From = "MyMail@gmail.com"   
        .Subject = "O objeto do e-mail "   
        .TextBody = "Este e-mail lhe é enviado para testar a macros de lermite"   
        'Para adicionar um anexo, um arquivo, pasta, imagem, etc.  
        '.AddAttachment 'Caminho e nome completo do  arquivo a ser anexado.  
        .Send   
    End With   
    Set mMessage = Nothing   
       
    'Para outra mensagem, não precisa reconfigurar, é preciso, no entanto, recriar uma nova mensagem a cada vez. 
    Set mMessage = CreateObject("CDO.Message")   
    With mMessage   
    Set .Configuration = mConfig   
        .To = "AutroCliente@gmail.com"   
        .From = "MyMail@gmail.com"   
        .Subject = "É para o segundo teste de envio e- "   
        .TextBody = "Este e-mail lhe é enviado para testar a macros de lermite" & Chr(13) _   
            & "e ver se a segunda  mensagem passou bem."   
        'Para adicionar um anexo, arquivo, pasta, imagem, etc. 
        '.AddAttachment 'Caminho e nome completo do arquivo a anexar        .Send   
    End With   
    Set mMessage = Nothing   
      
    'Libera os recursos  
    Set mConfig = Nothing   
    Set mChps = Nothing   
End Sub


Voc~e pode baixar uma pasta demonstração (Excel)
Envio e-mail com CDO.xls

Artigo original publicado por lermite222
Tradução feita por Ana Spadari

Veja também :
Este documento, intitulado « VB6 - VBA Envio de e-mail com o objeto CDO »a partir de CCM (br.ccm.net) está disponibilizado sob a licença Creative Commons. Você pode copiar, modificar cópias desta página, nas condições estipuladas pela licença, como esta nota aparece claramente.