|
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 |
|
|
|
|
|
load_dotenv() |
|
|
|
app = FastAPI() |
|
|
|
|
|
|
|
class EmailRequest(BaseModel): |
|
nom: str |
|
prenom: str |
|
email: str |
|
message: str |
|
|
|
|
|
@app.post("/send_email") |
|
async def send_email(request: EmailRequest): |
|
|
|
nom = request.nom |
|
prenom = request.prenom |
|
sender_email = request.email |
|
message = request.message |
|
|
|
|
|
receiver_email = '[email protected]' |
|
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: |
|
|
|
with smtplib.SMTP('smtp.gmail.com', 587) as server: |
|
server.starttls() |
|
server.login('[email protected]', 'ftrc foyu jlza dwmv') |
|
server.send_message(msg) |
|
|
|
return {"message": "E-mail envoyé avec succès"} |
|
|
|
except Exception as e: |
|
raise HTTPException(status_code=500, detail=str(e)) |
|
|
|
|
|
|
|
if __name__ == "__main__": |
|
import uvicorn |
|
|
|
uvicorn.run(app, host="0.0.0.0", port=7860) |
|
|