Spaces:
Sleeping
Sleeping
| 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 | |
| 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 = '[email protected]' # 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('[email protected]', '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) | |