Django MailerSend makes it easier to send emails in Django apps using the MailerSend API.
Project description
Django MailerSend
Django MailerSend makes it easier to send emails in Django apps using the MailerSend API. Uses the official MailerSend Python SDK internally.
Index
- Installation
- Configuration
- Usage
- Text Only Emails
- Text + HTML Emails
- Attachments
Installation
pip install django-mailersend
Configuration
Add the following to your Django settings:
EMAIL_BACKEND = 'django_mailersend.backend.MailerSendEmailBackend'
MAILERSEND_API_KEY = 'Your API key'
Usage
Text Only Emails
- Send a Text Only email using Django's
send_mail
function:
from django.core.mail import send_mail
send_mail(
subject='Hello world!',
message='Sent using the Django MailerSend Email Backend!',
from_email='sender@example.com',
recipient_list=['receiver@example.com']
)
- Send a Text Only email using Django's
EmailMessage
class for more options:
from django.core.mail.message import EmailMessage
email_message = EmailMessage(
subject='Hello world!',
body='Sent using the Django MailerSend Email Backend!',
from_email='sender@example.com',
to=['receiver@example.com'],
bcc=['bcc@example.com'], # Optional
cc=['cc@example.com'], # Optional
reply_to=['reply-to@example.com'] # Optional
)
email_message.send()
Text + HTML Emails
- Send a Text + HTML email using Django's
send_mail
function:
from django.core.mail import send_mail
send_mail(
subject='Hello world!',
message='Sent using the Django MailerSend Email Backend!',
from_email='sender@example.com',
recipient_list=['receiver@example.com'],
html_message='<p>Sent using <strong>Django MailerSend Email Backend</strong>!</p>'
)
- Send a Text + HTML email using Django's
EmailMultiAlternatives
class for more options:
from django.core.mail.message import EmailMultiAlternatives
email_message = EmailMultiAlternatives(
subject='Hello world!',
body='Sent using Django MailerSend Email Backend!',
from_email='sender@example.com',
to=['receiver@example.com'],
bcc=['bcc@example.com'], # Optional
cc=['cc@example.com'], # Optional
reply_to=['reply-to@example.com'] # Optional
)
email_message.attach_alternative(
'<p>Sent using <strong>Django MailerSend Email Backend</strong>!</p>',
'text/html'
)
email_message.send()
Attachments
Sending attachments is supported when using Django's EmailMessage
or
EmailMultiAlternatives
classes. There are several ways of doing this:
- Send an attachment by providing the file
path
to theattach_file
method:
from django.core.mail.message import EmailMessage
email_message = EmailMessage(
subject='Hello world!',
body='Sent using the Django MailerSend Email Backend!',
from_email='sender@example.com',
to=['receiver@example.com']
)
email_message.attach_file('/example/attachment.txt')
email_message.attach_file('/example/attachment.jpg')
email_message.send()
- Send an attachment by providing a
filename
and the filecontent
to theattach
method:
from django.core.mail.message import EmailMessage
email_message = EmailMessage(
subject='Hello world!',
body='Sent using the Django MailerSend Email Backend!',
from_email='sender@example.com',
to=['receiver@example.com']
)
# Text file (Read mode 'r')
with open('/example/attachment.txt', 'r') as file:
email_message.attach('attachment.txt', file.read())
# Binary file (Read mode 'rb')
with open('/example/attachment.jpg', 'rb') as file:
email_message.attach('attachment.jpg', file.read())
email_message.send()
- Send an attachment by providing a
MIMEBase
instance to theattach
method:
from django.core.mail.message import EmailMessage
email_message = EmailMessage(
subject='Hello world!',
body='Sent using the Django MailerSend Email Backend!',
from_email='sender@example.com',
to=['receiver@example.com']
)
# Text file (Read mode 'r')
with open('/example/attachment.txt', 'r') as file:
mime_text = MIMEText(file.read())
mime_text.add_header(
'Content-Disposition', 'attachment; filename=attachment.txt')
email_message.attach(mime_text)
# Binary file (Read mode 'rb')
with open('/example/attachment.jpg', 'rb') as file:
mime_image = MIMEImage(file.read())
mime_image.add_header(
'Content-Disposition', 'inline; filename=attachment.jpg')
email_message.attach(mime_image)
email_message.send()
Resources
- Django: https://www.djangoproject.com/
- MailerSend: https://www.mailersend.com/
- MailerSend Python SDK: https://github.com/mailersend/mailersend-python
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for django_mailersend-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31f24bbe3a9f92a3982e05f0442124ca27854d5b46d87d2651d23fc2883443a5 |
|
MD5 | 155509e946e2aa92e709db17cfe02629 |
|
BLAKE2b-256 | 28653ce1b0bfe9ada1155b7e838e5515d9190b561f87f32e41001ff79bf6eda8 |