none
VBA Excel - Enviando emails via CDO - Send Email Using CDO RRS feed

  • Discussão Geral

  • O que é CDO?

    É uma biblioteca de objetos que expõe as interfaces do Messaging Application Programming Interface (MAPI). 

    CDO permite que manipulemos os dados do Exchange para enviar e receber mensagens.

    O uso do CDO pode ser preferível em casos onde gostaríamos de evitar a segurança pop-up que aparecem, tais como: "um programa está tentando enviar automaticamente um e-mail em seu nome", atrasando o nosso envio de e-mail até que o usuário forneça um resposta.

    Neste exemplo usaremos a função CreateObject ("CDO.Message").
    Um ponto importante a observar aqui é definir a configuração SMTP corretamente, de modo a evitar o temido "Erro em tempo de execução -2147220973 (80040213) " ou o " valor de configuração SendUsing erros é inválido "de aparecer.
    Sub EnvieMail_CDO()
    Dim CDO_Mail_Object As Object
    Dim CDO_Config As Object
    Dim SMTP_Config As Variant
    Dim Email_Subject, Email_Send_From, Email_Send_To, Email_Cc, Email_Bcc, Email_Body As String

    Let Email_Subject = "Enviando email via CDO"
    Let Email_Send_From = "< Seu endereço de email >"
    Let Email_Send_To = "< Endereço de email para envio >"
    Let Email_Cc = "< Endereço de email de cópia >"
    Let Email_Bcc = "< Endereço de email de cópia oculta >"
    Let Email_Body = "Parabéns!!!! Seu envio através de CDO funcionou !!!!"

    Set CDO_Mail_Object = CreateObject("CDO.Message")
    On Error GoTo debugs

    Set CDO_Config = CreateObject("CDO.Configuration")
    CDO_Config.Load -1

    Set SMTP_Config = CDO_Config.Fields

    With SMTP_Config
    .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2

    ' Coloque o nome do seu SERVIDOR abaixo:
    Let .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "YOURSERVERNAME"

    Let .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25

    .Update
    End With

    With CDO_Mail_Object
    Set .Configuration = CDO_Config
    End With

    Let CDO_Mail_Object.Subject = Email_Subject
    Let CDO_Mail_Object.From = Email_Send_From
    Let CDO_Mail_Object.To = Email_Send_To
    Let CDO_Mail_Object.TextBody = Email_Body
    Let CDO_Mail_Object.cc = Email_Cc 'Use se achar necessário
    Let CDO_Mail_Object.BCC = "bernardess@gmail.com" 'Use se achar necessário
    'CDO_Mail_Object.AddAttachment FileToAttach 'Use se achar necessário
    CDO_Mail_Object.send

    debugs:
    If Err.Description <> "" Then MsgBox Err.Description
    End Sub



    Deixe os seus comentários! Envie este artigo, divulgue este link na sua rede social...



    Tags: VBA, Excel, e-mail, email, mail, send, CDO, SMTP, CreateObject, MAPI, 

    A&A - In Any Place http://inanyplace.blogspot.com/ - bernardess@gmail.com Twitter: @inanyplace

    quinta-feira, 21 de novembro de 2013 16:03

Todas as Respostas