Envio de Mala Direta por Email com VBA

MR
Marcos Rieper

Especialista em Excel

07 de abril de 2011 Atualizado 08 de julho de 2026 2 min de leitura
Envio de Mala Direta por Email com VBA

Objetivo: Enviar mala direta por email a partir de uma lista de clientes, alterando o corpo da mensagem conforme cada cliente.

//

Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina.

 


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

Download — baixe aqui: Enviar e-mail com o Excel

Preencha seus dados para receber o link de download no seu e-mail.

Principais recursos

Confira o que este material oferece para você.

Organização por data e etapas
Classificação automática
Ranking e destaques
Fluxos e etapas automáticas
Dashboard com indicadores
Atualização automática por fórmulas

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

Planilha de Fluxo de Caixa

(1.327)

R$ 89,90

Controle de Estoque

Controle de Estoque

(962)

R$ 69,90

Planilha Financeira Empresarial

Planilha Financeira Empresarial

(1.254)

R$ 79,90

Dashboard Financeiro no Excel

Dashboard Financeiro no Excel

(689)

R$ 49,90

Continue lendo

Curso Excel Master — Básico ao Avançado, VBA, PowerPoint e mais

Receba conteúdos e novidades direto no seu e-mail

Dicas, tutoriais, planilhas gratuitas e muito mais.

Não enviamos spam. Cancele quando quiser.

Download imediato

Acesso na hora após a compra

Compra 100% segura

Seus dados protegidos com SSL

Acesso vitalício

Use para sempre, sem mensalidades

Suporte via WhatsApp

Atendimento rápido e humanizado