E-mail marketing automatizado para a tua empresa com Python

📅 20 Aug 2026 📖 5 min de leitura 🏷️ Empresários ✍️ Marcus

A gestão manual de e-mail marketing consume horas preciosas das equipas e raramente consegue atingir o nível de personalização que os clientes atuais exigem. Conseguir enviar a mensagem certa, à pessoa certa, no momento ideal, é o divisor de águas entre uma campanha ignorada na caixa de spam e uma conversão bem-sucedida.

Porquê combinar Python com o Hermes Agent no E-mail Marketing?

Python é uma das linguagens mais robustas para automatizar tarefas de dados, ler ficheiros CSV ou bases de dados de clientes e disparar e-mails através de protocolos SMTP ou APIs de serviços como SendGrid e Mailgun. Contudo, o grande desafio do e-mail marketing automatizado tradicional sempre foi a falta de flexibilidade no conteúdo: os e-mails soam a robô e utilizam modelos genéricos.

É aqui que entra o Hermes Agent. Ao integrar o Hermes Agent no teu fluxo de trabalho em Python, podes delegar a criação do conteúdo a um agente de Inteligência Artificial capaz de analisar o perfil de cada cliente, criar cópias persuasivas e personalizadas em segundos, e devolvê-las prontas para envio.

Como criar o teu sistema de e-mail marketing automatizado

Vamos construir uma solução prática em três passos simples: organização da lista de contactos, criação da skill de IA para redação e execução do script de automação.

Passo 1: Preparar a lista de contactos e o ambiente em Python

O primeiro passo consiste em estruturar os dados dos teus clientes. Cria um ficheiro chamado clientes.csv com a informação relevante que servirá de contexto para a IA.

nome,email,empresa,setor,ultima_compra
Ana Silva,ana.silva@exemplo.pt,Silva & Filhos,Restauração,Forno Industrial
Carlos Mota,carlos@mota-tech.pt,Mota Tech,Tecnologia,Licença de Software
Sofia Lima,sofia@limadesign.pt,Lima Design,Arquitetura,Mesa Digitalizadora

Este ficheiro contém as variáveis que o Python vai ler e passar ao Hermes Agent para personalizar cada mensagem de forma individual.

Passo 2: Criar a Skill do Hermes Agent para gerar e-mails

Para que o Hermes Agent saiba exatamente como redigir os e-mails da tua empresa, precisamos de criar uma skill personalizada. As skills do Hermes são definidas num ficheiro SKILL.md armazenado na pasta do teu agente (por exemplo, ~/.hermes/skills/gerador-email/SKILL.md).

---
name: gerador-email-marketing
description: Gera e-mails de marketing altamente personalizados e persuasivos com base nos dados do cliente.
author: MarctechJA
version: "1.0"
platforms:
  - macos
  - linux
  - windows
metadata:
  hermes:
    tags: [email, marketing, automacao]
---

# Gerador de E-mail Marketing

Esta skill analisa o perfil do cliente e gera um e-mail de acompanhamento comercial personalizado.

## When to Use
Utiliza esta skill sempre que precisares de gerar uma cópia de e-mail personalizada com base no nome, setor e última compra do cliente.

## Instruções
1. Lê os dados fornecidos sobre o cliente (Nome, Empresa, Setor, Última Compra).
2. Escreve um assunto curto e apelativo (máximo 8 palavras).
3. Redige o corpo do e-mail em português de Portugal (pt-PT) com tom profissional e acolhedor.
4. Faz referência direta ao setor da empresa e sugere uma conversa de acompanhamento sobre a última compra.
5. Devolve o resultado estritamente no seguinte formato JSON:
   {"assunto": "Texto do Assunto", "corpo": "Texto do corpo em HTML"}

## Critérios de conclusão
- O JSON gerado é válido e contém os campos "assunto" e "corpo".
- O texto está adaptado ao mercado português e ao perfil do cliente.

Esta estrutura instrui o Hermes Agent sobre o objetivo da tarefa, o tom de voz e o formato exato de saída esperado, garantindo que o resultado possa ser lido diretamente pelo nosso programa em Python.

Para testar o funcionamento da skill diretamente no terminal, podes executar:

hermes chat -s gerador-email-marketing

Passo 3: Executar o script de automação em Python

Com a lista de contactos pronta e a skill configurada, criamos o script Python que une todas as peças: lê o CSV, solicita a geração do e-mail ao Hermes Agent e realiza o envio via SMTP.

import csv
import subprocess
import json
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

def gerar_email_com_hermes(nome, empresa, setor, ultima_compra):
    prompt = f"Gera um e-mail para {nome}, da empresa {empresa} (setor: {setor}), cuja última compra foi {ultima_compra}."
    
    # Executa o comando do Hermes Agent passando a skill criada
    comando = ["hermes", "chat", "-s", "gerador-email-marketing", "-p", prompt]
    resultado = subprocess.run(comando, capture_output=True, text=True)
    
    try:
        dados = json.loads(resultado.stdout.strip())
        return dados["assunto"], dados["corpo"]
    except Exception:
        # Fallback caso a resposta necessite de limpeza
        return f"Novidades para a {empresa}", f"<p>Olá {nome}, como está a funcionar o seu {ultima_compra}?</p>"

def enviar_email(destinatario, assunto, corpo_html):
    servidor_smtp = "smtp.teudominio.com"
    porta = 587
    utilizador = "comercial@teudominio.com"
    palavra_passe = "sua_palavra_passe_segura"

    msg = MIMEMultipart()
    msg['From'] = utilizador
    msg['To'] = destinatario
    msg['Subject'] = assunto
    msg.attach(MIMEText(corpo_html, 'html'))

    try:
        with smtplib.SMTP(servidor_smtp, porta) as servidor:
            servidor.starttls()
            servidor.login(utilizador, palavra_passe)
            servidor.send_message(msg)
            print(f"E-mail enviado com sucesso para: {destinatario}")
    except Exception as e:
        print(f"Erro ao enviar para {destinatario}: {e}")

def processar_campanha(ficheiro_csv):
    with open(ficheiro_csv, mode='r', encoding='utf-8') as f:
        leitor = csv.DictReader(f)
        for linha in leitor:
            print(f"A processar e-mail para {linha['nome']}...")
            assunto, corpo = gerar_email_com_hermes(
                linha['nome'], 
                linha['empresa'], 
                linha['setor'], 
                linha['ultima_compra']
            )
            enviar_email(linha['email'], assunto, corpo)

if __name__ == "__main__":
    processar_campanha("clientes.csv")

O script percorre cada linha da lista de clientes, chama o Hermes Agent em segundo plano para redigir uma mensagem única baseada no histórico do cliente e envia o e-mail em formato HTML automaticamente.

Boas práticas para garantir a entregabilidade

Automatizar o envio de e-mails exige cuidados para evitar que o teu domínio seja classificado como remetente de spam:

  • Configurações DNS adequadas: Certifica-te de que os registos SPF, DKIM e DMARC do teu domínio estão corretamente configurados no teu provedor de alojamento.
  • Pausas entre envios: Adiciona um pequeno intervalo de tempo (por exemplo, time.sleep(5)) entre o envio de cada e-mail para não sobrecarregar o servidor SMTP.
  • Validação de dados: Garante que os endereços de e-mail na tua lista são válidos antes de iniciar o processo de disparo.

Conclusão

Combinar a flexibilidade do Python com a inteligência do Hermes Agent permite às empresas de qualquer dimensão criar campanhas de e-mail marketing altamente personalizadas, escaláveis e eficientes. Em vez de enviar newsletters genéricas, podes agora entregar mensagens que realmente ressoam com as necessidades de cada cliente.

Se queres aprofundar o teu conhecimento sobre criação de skills, automação de processos empresariais e integração de agentes inteligentes no teu negócio, consulta o Guia Completo do Hermes Agent para explorar todos os recursos e exemplos práticos disponíveis.

Comentários