Flask
Send transactional email from Flask using the MailSetu REST API.
Installation
bash
pip install mailsetu requestsSetup
Store your API key in environment variables and create a client:
python
import os
from mailsetu import MailSetu
client = MailSetu(os.environ["MAILSETU_API_KEY"])Send email from a Flask route
python
from flask import Flask, request, jsonify
import os
from mailsetu import MailSetu
app = Flask(__name__)
ms = MailSetu(os.environ["MAILSETU_API_KEY"])
@app.route("/send-welcome", methods=["POST"])
def send_welcome():
data = request.get_json()
result = ms.emails.send(
from_="welcome@yourdomain.com",
to=[data["email"]],
subject="Welcome!",
html=f"<p>Hi {data['name']}, welcome aboard!</p>",
)
return jsonify({"id": result["id"], "status": result["status"]})Using environment variables
bash
# .env
MAILSETU_API_KEY=ms_live_your_key_here
# Load in Flask with python-dotenv
# pip install python-dotenv
# app.py
from dotenv import load_dotenv
load_dotenv()