Ronaldodev's picture
modification
88a57df
raw
history blame contribute delete
No virus
1.65 kB
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 = '[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)