Django
Integrate MailSetu with Django using the EMAIL_BACKEND or direct API calls.
Option 1: Direct SDK
Use the Python SDK directly in Django views:
bash
pip install mailsetuView example
python
from django.views import View
from django.http import JsonResponse
from mailsetu import MailSetu
import os
client = MailSetu(os.environ['MAILSETU_API_KEY'])
class SendWelcomeView(View):
def post(self, request):
import json
data = json.loads(request.body)
response = client.emails.send(
from_='App <noreply@yourapp.com>',
to=[data['email']],
subject=f"Welcome, {data['name']}!",
html=f"<h1>Hi {data['name']},</h1><p>Thanks for joining!</p>",
)
return JsonResponse({'email_id': response['id']})Option 2: Django EMAIL_BACKEND
Configure MailSetu as the Django email backend:
python
# settings.py
EMAIL_BACKEND = 'mailsetu.backends.django.MailSetuEmailBackend'
MAILSETU_API_KEY = os.environ['MAILSETU_API_KEY']
DEFAULT_FROM_EMAIL = 'App <noreply@yourapp.com>'Using Django send_mail
Once configured, use Django's standard send_mail:
python
from django.core.mail import send_mail
send_mail(
subject='Welcome!',
message='Thanks for signing up.',
from_email='App <noreply@yourapp.com>',
recipient_list=['user@example.com'],
html_message='<h1>Thanks for signing up!</h1>',
)