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 = '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) | |