from fastapi import FastAPI, HTTPException from pydantic import BaseModel import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText import os from dotenv import load_dotenv # Charger les variables d'environnement load_dotenv() app = FastAPI() # Définir un modèle de données pour la requête class EmailRequest(BaseModel): nom: str prenom: str email: str message: str @app.post("/send_email") async def send_email(request: EmailRequest): # Extraire les données du modèle nom = request.nom prenom = request.prenom sender_email = request.email message = request.message # Sujet et destinataire par défaut receiver_email = 'awademeronaldoo@gmail.com' # Changez ceci selon votre configuration subject = f'Message from Bénin Traduction' msg = MIMEMultipart() msg['From'] = sender_email msg['To'] = receiver_email msg['Subject'] = subject body = f"Nom: {nom}\nPrénom: {prenom}\nEmail: {sender_email}\n\nMessage:\n{message}" msg.attach(MIMEText(body, 'plain')) try: # Envoi de l'e-mail with smtplib.SMTP('smtp.gmail.com', 587) as server: server.starttls() server.login('awademeronaldoo@gmail.com', 'ftrc foyu jlza dwmv') # Utilisez des variables d'environnement server.send_message(msg) return {"message": "E-mail envoyé avec succès"} except Exception as e: raise HTTPException(status_code=500, detail=str(e)) # Lancer l'application avec Uvicorn if __name__ == "__main__": import uvicorn uvicorn.run(app, host="0.0.0.0", port=7860)