Logo Hardware.com.br
JoseanSilver
JoseanSilver Novo Membro Registrado
48 Mensagens 5 Curtidas

[Resolvido] VBA Envio E-mail Gmail

#1 Por JoseanSilver 21/09/2018 - 10:04
Prezados, Bom Dia,

Eu tinha esta rotina que usei um tempo atrás para envio de email pelo excel, fui tentar utilizar a esta dando erro, saberia dizer oque mudou?


Sub EnviarEmail()

Dim iMsg As Object
Dim iConf As Object
Dim mensagem As String
Dim Flds As Variant
Set iMsg = CreateObject("CDO.Message&quot
Set iConf = CreateObject("CDO.Configuration&quot
iConf.Load -1 ' CDO Source Defaults
Set Flds = iConf.Fields
With Flds
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl&quot = True
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate&quot = 1
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername&quot = "xxxxx"
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword&quot = "xxxxx"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver&quot = "smtp.gmail.com"
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing&quot = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport&quot = 465
.Update
End With
mensagem = "Teste"
With iMsg
Set .Configuration = iConf
.To = "xxxxx"
.CC = ""
.BCC = ""
.From = "xxxxx"
.Subject = "Teste"
.TextBody = mensagem
.Send
End With
MsgBox "Email Enviado"
End Sub


O erro que esta retornando:

Erro em tempo de execução '-2147220975 (80040211)'
Não foi enviar a mensagem para o servidor SMTP. O código de erro de transporte foi 0x80040217. A resposta do servidor foi bit availabe.

Obrigado,
JoseanSilver
JoseanSilver Novo Membro Registrado
48 Mensagens 5 Curtidas
#2 Por JoseanSilver
24/09/2018 - 09:25
Bom Dia Pessoal,

Já descobri que se trata de opções de segurança do próprio Gmail que esta bloqueando o VBA, recebi um alerta no email que estou tentando utilizar:

"Tentativa de login bloqueada
Alguém acabou de usar sua senha para tentar fazer login na sua conta em um app de terceiros. O Google bloqueou a tentativa, mas verifique o que aconteceu mesmo assim. Revise a atividade da sua conta para garantir que mais ninguém tenha acesso.
"

Alguém sabe como contornar?
faguirre
faguirre Super Zumbi Registrado
4.2K Mensagens 1.5K Curtidas
#3 Por faguirre
24/09/2018 - 16:07
Uma solução, embora não recomendada é ativar o uso de app menos seguro para fazer a autenticação SMTP (https://myaccount.google.com/lesssecureapps)

A melhor solução é utilizar a API do gmail aqui tem o exemplo em Python, mas deve ser possível adaptar para VBA (https://developers.google.com/gmail/api/quickstart/python)
JoseanSilver
JoseanSilver Novo Membro Registrado
48 Mensagens 5 Curtidas
#4 Por JoseanSilver
24/09/2018 - 16:27
Obrigado Faguirre,

Porém, nem mesmo ativando o uso de app menos seguro esta permitindo envia-lo pelo VBA.
O detalhe é que eu usava esta rotina antes, agora que fui tentar utilizar novamente esta com este erro...

Ainda procurando uma solução...

faguirre disse:


Boa Tarde Faguirre,

Na verdade, a opção de ativar o app menor seguro não estava gravando, habilitei novamente e conseguir enviar.
Obrigado,
© 1999-2025 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal