Envio de Mala Direta por Email com VBA
Especialista em Excel

Objetivo: Enviar mala direta por email a partir de uma lista de clientes, alterando o corpo da mensagem conforme cada cliente.
//
Fazendo uma pequena adaptação do post http://guiadoexcel.com.br/enviar-email-com-excel-sem-usar-o-outlook.
Neste artigo temos um pequeno exemplo de uma mensagem particular para cada cliente da lista sendo enviado diretamente pelo Excel com uso de VBA.
Atenção: Não esqueça de abrir o VBA e alterar os campos com o seu email, senha e configurações de porta smtp, etc. Se for Gmail, basta colocar seu nome, email e senha.
Este artigo também foi criado para auxiliar o leitor Luiz de São Paulo que estava com esta necessidade. Espero que ajude.
Código Fonte:
'Baseado no código disponibilizado em: http://www.a1vbcode.com/snippet-3691.asp
Sub lsEnviaEmail(ByVal lEmail As String, ByVal lMsg As String)
Dim iMsg, iConf, Flds
'Seta as variáveis, lembrando que o objeto Microsoft CDO deverá estar habilitado em Ferramentas->Referências->Microsoft CDO for Windows 2000 Library
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields
'Configura o componente de envio de email
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") = "seuemail.rieper@gmail.com"
'Configura a senha do email remetente
Flds.Item(schema & "sendpassword") = "suasenha"
Flds.Item(schema & "smtpusessl") = 1
Flds.Update
With iMsg
'Email do destinatário
.To = lEmail
'Seu email
.From = "SeuNome "
'Título do email
.Subject = "Isto é um teste de Envio de email"
'Mensagem do e-mail, você pode enviar formatado em HTML
.HTMLBody = lMsg
'Seu nome ou apelido
.Sender = "Teste"
'Nome da sua organização
.Organization = "Empresa Teste"
'email de responder para
.ReplyTo = "marcos.rieper@gmail.com"
'Anexo a ser enviado na mensagem
'.AddAttachment ("c:\fatura.txt")
'Passa a configuração para o objeto CDO
Set .Configuration = iConf
'Envia o email
SendEmailGmail = .Send
End With
'Limpa as variáveis
Set iMsg = Nothing
Set iConf = Nothing
Set Flds = Nothing
End Sub
Public Sub lsEnviarEmails()
Dim iTotalLinhas, i As Integer
iTotalLinhas = Cells(Rows.Count, 1).End(xlUp).Row + 1
i = 2
While i < iTotalLinhas
lsEnviaEmail Range("B" & i).Value, "Mensagem para o cliente " & Range("A" & i).Value
i = i + 1
Wend
End Sub
Abraço
Marcos Rieper
Principais recursos
Confira o que este material oferece para você.
Perguntas frequentes
O material é realmente gratuito?
Sim. O acesso é gratuito e não exige cadastro.
Preciso ter o Excel instalado?
Recomendamos o Excel 2013 ou superior para todos os recursos.
Como faço para receber atualizações?
As atualizações são automáticas dentro da própria planilha.
Funciona no Excel do Mac?
Sim, funciona no Excel para Windows e para Mac.
Funciona no celular?
É possível visualizar no app do Excel; a edição completa é no computador.
Planilhas relacionadas
Planilha de Fluxo de Caixa
R$ 89,90
Controle de Estoque
R$ 69,90
Planilha Financeira Empresarial
R$ 79,90
Dashboard Financeiro no Excel
R$ 49,90





