from sendgrid import SendGridAPIClient from sendgrid.helpers.mail import Mail, Email, To, Content import logging from app.core.config import settings logger = logging.getLogger(__name__) def send_verification_email(to_email: str, username: str, verification_token: str): """Envia email de verificação para novo usuário""" verification_url = f"{settings.FRONTEND_URL}/verify-email/{verification_token}" # Template do email html_content = f"""

🚀 VIDA180

Olá, {username}! 👋

Seja muito bem-vindo(a) ao Vida180! 🎉

Estamos muito felizes em ter você conosco nessa jornada de transformação!

Para ativar sua conta e começar a usar todas as funcionalidades, clique no botão abaixo:

✅ Verificar Meu Email

Ou copie e cole este link no seu navegador:
{verification_url}

Após verificar seu email, você terá acesso completo a:

A transformação acontece um dia de cada vez! 💪

""" try: message = Mail( from_email=Email(settings.SENDGRID_FROM_EMAIL, settings.SENDGRID_FROM_NAME), to_emails=To(to_email), subject=f"🚀 Bem-vindo ao Vida180! Confirme seu email", html_content=Content("text/html", html_content) ) sg = SendGridAPIClient(settings.SENDGRID_API_KEY) response = sg.send(message) logger.info(f"Email enviado para {to_email} - Status: {response.status_code}") return True except Exception as e: logger.error(f"Erro ao enviar email para {to_email}: {str(e)}") return False def send_password_reset_email(to_email: str, username: str, reset_token: str): """Envia email de reset de senha""" reset_url = f"{settings.FRONTEND_URL}/reset-password/{reset_token}" html_content = f"""

🚀 VIDA180

Olá, {username}! 👋

Recebemos uma solicitação para redefinir sua senha.

⚠️ Se você não solicitou a alteração de senha, ignore este email e sua senha permanecerá a mesma.

Para criar uma nova senha, clique no botão abaixo:

🔑 Redefinir Minha Senha

Este link expira em 24 horas.

Vida180 - Transforme sua vida, um dia de cada vez 🚀
""" try: message = Mail( from_email=Email(settings.SENDGRID_FROM_EMAIL, settings.SENDGRID_FROM_NAME), to_emails=To(to_email), subject="🔑 Redefinir senha - Vida180", html_content=Content("text/html", html_content) ) sg = SendGridAPIClient(settings.SENDGRID_API_KEY) response = sg.send(message) logger.info(f"Email de reset enviado para {to_email}") return True except Exception as e: logger.error(f"Erro ao enviar email de reset: {str(e)}") return False