none
Error '-2147220973 (80040213)' p/ envio de email com Webmail corporativo hosteado por Gmail RRS feed

  • Pergunta

  • Boa tarde! 

    Estou tentando configurar meu código para conseguir disparar emails automáticos com o webmail do trabalho. 

    Na empresa utilizamos gmail, mas o email corporativo é @colpal.com 

    Por conta disso, o código não funciona e a seguinte mensagem aparece: error '-2147220973 (80040213)'. 

    Outro ponto é que o código pede para colocar a senha, mas a senha do email que usamos está conectada com o windows, sendo necessário apenas logar no computador para ter acesso ao email. 

    Segue o código que estou utilizando: 

    Private Sub btnSendEmail_Click()
    Dim iMsg, iConf, Flds

    Set iMsg = CreateObject("CDO.Message")
    Set iConf = CreateObject("CDO.Configuration")
    Set Flds = iConf.Fields

    schema = "http://schemas.microsoft.com/cdo/configuration/"
    Flds.Item(schema & "sendusing") = 2
    'Configura o smtp
    Flds.Item(schema & "smtpserver") = "smtp.gmail.com"
    'Configura a porta de envio de email
    Flds.Item(schema & "smtpserverport") = 465
    Flds.Item(schema & "smtpauthenticate") = 1
    'Configura o email do remetente
    Flds.Item(schema & "sendusername") = "guilherme_henrique_paiva@colpal.com"
    'Configura a senha do email remetente
    Flds.Item(schema & "sendpassword") = "senhadoemailcorporativo"
    Flds.Item(schema & "smtpusessl") = True
    Flds.Update

    With iMsg
       'Email do destinatário
       .To = "guilherme_henrique_paiva@colpal.com"
       'Seu email
       .From = "guilherme_henrique_paiva@colpal.com"
       'Título do email
       .Subject = "Isto é um teste de Envio de e-mail"
       'Mensagem do e-mail, você pode enviar formatado em HTML
       .HTMLBody = "Mensagem enviada com o gmail"
       
       'Seu nome ou apelido
       .Sender = "Teste"
       'Nome da sua organização
       .Organization = "Aprender Excel"
       'e-mail de responder para
       .ReplyTo = "guilherme_henrique_paiva@colpal.com"
       Set .Configuration = iConf
       .Send
    End With

    Set iMsg = Nothing
    Set iConf = Nothing
    Set Flds = Nothing
    disparar

    End Sub

    Sub disparar()
       MsgBox "O e-mail foi disparado com sucesso!", vbOKOnly, "e-mail enviado"
    End Sub

    --------------------------------------------------------------------------------------------------------------------------------------------

    Peço a ajuda de vocês para encontrar os parâmetros corretos para que eu consiga rodar esta macro. 

    Agradeço desde já! 

    quarta-feira, 18 de outubro de 2017 16:30

Todas as Respostas

  • Amigo, eu tbm uso gmail, porém eu mando na porta 587.

    Tente alterar para:

     Flds.Item(schema & "smtpserverport") = 587

    Outro detalhe, eu tbm não uso o parametro "smtpauthenticate". Tente retira-lo.

    Abs.

    quarta-feira, 18 de outubro de 2017 17:59
  • Diogenes, 

    Obrigado por responder! 

    Você viu que tenho algumas condições a mais? Meu email corportativo é @colpal. E não preciso colocar senha para entrar no eamil. 

    Será que isso tem alguma coisa a ver? 

    Obrigado desde já! 


    quinta-feira, 19 de outubro de 2017 13:18
  • Talvez vc ñ precisa colocar a senha por estar no cache do browser, mas no código tem q enviar.

    Vc tentou alterar a porta conforme exemplo que te passei?

    terça-feira, 24 de outubro de 2017 12:50
  • meu amigo, quebrei a cabeça assim como voce para resolver, mas consegui, se ainda precisar segue como resolver.

    O emails corporativos tem uma autenticação diferente aos email convencionais (gmail, hotmail), basta alterar a linha do codigo da porta e SSL, ficando assim:

    Private Sub btnSendEmail_Click()
    Dim iMsg, iConf, Flds

    Set iMsg = CreateObject("CDO.Message")
    Set iConf = CreateObject("CDO.Configuration")
    Set Flds = iConf.Fields

    schema = "http://schemas.microsoft.com/cdo/configuration/"
    Flds.Item(schema & "sendusing") = 2
    'Configura o smtp
    Flds.Item(schema & "smtpserver") = "smtp.gmail.com"
    'Configura a porta de envio de email
    Flds.Item(schema & "smtpserverport") = 587
    Flds.Item(schema & "smtpauthenticate") = 1
    'Configura o email do remetente
    Flds.Item(schema & "sendusername") = "guilherme_henrique_paiva@colpal.com"
    'Configura a senha do email remetente
    Flds.Item(schema & "sendpassword") = "senhadoemailcorporativo"
    Flds.Item(schema & "smtpusessl") = False
    Flds.Update

    With iMsg
       'Email do destinatário
       .To = "guilherme_henrique_paiva@colpal.com"
       'Seu email
       .From = "guilherme_henrique_paiva@colpal.com"
       'Título do email
       .Subject = "Isto é um teste de Envio de e-mail"
       'Mensagem do e-mail, você pode enviar formatado em HTML
       .HTMLBody = "Mensagem enviada com o gmail"
       
       'Seu nome ou apelido
       .Sender = "Teste"
       'Nome da sua organização
       .Organization = "Aprender Excel"
       'e-mail de responder para
       .ReplyTo = "guilherme_henrique_paiva@colpal.com"
       Set .Configuration = iConf
       .Send
    End With

    Set iMsg = Nothing
    Set iConf = Nothing
    Set Flds = Nothing
    disparar

    End Sub

    Sub disparar()
       MsgBox "O e-mail foi disparado com sucesso!", vbOKOnly, "e-mail enviado"
    End Sub

    • Sugerido como Resposta AndersonFDiniz2 terça-feira, 11 de agosto de 2020 18:58
    terça-feira, 11 de agosto de 2020 18:20