File size: 1,647 Bytes
19968c2
 
c145bc4
 
 
19968c2
 
c145bc4
19968c2
 
c145bc4
19968c2
c145bc4
 
19968c2
 
 
 
 
 
c145bc4
 
19968c2
 
 
 
 
 
 
 
 
c145bc4
 
 
 
 
 
 
 
 
 
 
 
 
 
b1761d4
c145bc4
 
19968c2
c145bc4
 
19968c2
 
c145bc4
19968c2
 
 
c145bc4
19968c2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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)