Guia rápido para clonar, configurar e executar este projeto (Python/Flask).
- Git
- Python 3.8+ instalado
- Pip (vem com Python)
Substitua o URL pelo repositório real.
git clone https://github.com/gufonseca-code/email_automation.git
cd email_automationLinux / macOS:
python3 -m venv venv
source venv/bin/activateWindows (PowerShell):
python -m venv venv
.\\venv\\Scripts\\Activate.ps1Windows (CMD):
python -m venv venv
venv\\Scripts\\activate.batpip install -r requirements.txtO projeto usa python-dotenv. Crie um arquivo .env na raiz com as variáveis abaixo (substitua pelos seus valores):
SMTP_SERVER=smtp.exemplo.com
SMTP_PORT=587
EMAIL_ADDRESS=seu-email@exemplo.com
EMAIL_PASSWORD=sua_senha_de_email
# Opcional: URL do banco de dados (ex: postgres, mysql). Se não informado, usa sqlite local
DATABASE_URL=sqlite:///email_automation.dbAtenção: no app/config.py estas variáveis são usadas por Config.
Se desejar aplicar migrações existentes, use flask com FLASK_APP apontando para run.py.
Linux / macOS:
export FLASK_APP=run.py
flask db upgradeWindows (PowerShell):
$env:FLASK_APP = "run.py"
flask db upgradeWindows (CMD):
set FLASK_APP=run.py
flask db upgradeObservação: o projeto já contém a pasta
migrations. Se preferir, pode ignorar migrações e usar o banco sqlite local padrão.
Modo rápido (script principal):
python run.pyOu via CLI do Flask:
Linux / macOS:
export FLASK_APP=run.py
export FLASK_ENV=development
flask runWindows (PowerShell):
$env:FLASK_APP = "run.py"
$env:FLASK_ENV = "development"
flask runWindows (CMD):
set FLASK_APP=run.py
set FLASK_ENV=development
flask runA aplicação por padrão roda em http://127.0.0.1:5000.
Antes de enviar e-mails, verifique as variáveis SMTP em .env. O serviço de e-mail do projeto usa as variáveis SMTP_SERVER, SMTP_PORT, EMAIL_ADDRESS e EMAIL_PASSWORD.
Alguns provedores (como Google e Microsoft) exigem que você gere uma senha de aplicativo (chamada aqui de "passkey") quando usa autenticação em apps que não suportam OAuth. Abaixo estão os passos gerais para gerar essas senhas e usá-las em .env como EMAIL_PASSWORD.
-
Observação importante: ative a autenticação em dois fatores (2-Step Verification / Verificação em duas etapas) na sua conta antes de criar uma senha de app.
-
Gmail (Conta Google):
- Acesse sua Conta Google: clique em
Gerenciar sua conta do Google.
- Acesse sua Conta Google: clique em
- Vá em
Segurança->Verificação em duas etapase ative-a (se ainda não estiver ativa). - Depois de ativar, em
Segurançaprocure porSenhas de app(ouApp passwords). - Clique em
Selecionar appescolhaMaile emSelecionar dispositivoescolha um nome (ouOthere informe um nome legível). - Clique em
Gerar. O Google mostrará uma senha de 16 caracteres (sem espaços). - Copie essa senha e cole no seu arquivo
.envemEMAIL_PASSWORD(substituindo a senha da conta). - Use também
SMTP_SERVER=smtp.gmail.comeSMTP_PORT=587(TLS) no.env.
-
Outlook / Conta Microsoft (Outlook.com, Hotmail, Live, ou Microsoft 365):
- Entre na sua conta Microsoft e acesse
Segurança(Security) ouInformações de segurança. - Ative a verificação em duas etapas (se ainda não estiver ativa).
- Vá para
Opções avançadas de segurançaouMore security options. - Procure por
Senhas de aplicativo(App passwords) e clique emCriar uma nova senha de aplicativo. - Será gerada uma senha; copie-a imediatamente.
- Cole essa senha no seu
.envemEMAIL_PASSWORD. - Para servidores SMTP use
SMTP_SERVER=smtp.office365.comeSMTP_PORT=587(TLS). Para algumas contas Outlook.com também funcionasmtp-mail.outlook.com.
- Entre na sua conta Microsoft e acesse
-
Uso no projeto: no
.envcoloque as variáveis necessárias, por exemplo:
EMAIL_ADDRESS=seu-email@exemplo.com
EMAIL_PASSWORD=senha_de_app_gerada_pelo_provedor
SMTP_SERVER=smtp.gmail.com
SMTP_PORT=587- Segurança: nunca commit o
.envnem compartilhe a senha de app. Use.gitignore(já presente) para evitar o envio acidental.
Se precisar, eu posso adicionar um arquivo .env.example com os nomes das variáveis (sem valores) para facilitar a configuração por outros usuários.
- Erro sobre
SMTP_PORTvazio: verifique seSMTP_PORTestá definida no.env(deve ser um número). - Dependências: confirme que o
venvestá ativado antes de instalar ou executar.
- Ativar venv:
source venv/bin/activate(macOS/Linux) vsvenv\\Scripts\\activate.batouActivate.ps1(Windows). - Export de variáveis de ambiente:
export VAR=valor(macOS/Linux) vs$env:VAR = "valor"(PowerShell) vsset VAR=valor(CMD).