Ronaldodev's picture
modification
88a57df
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)