Zum Inhalt springen

Django

settings.py
import os
EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
EMAIL_HOST = "smtp.spacepost.dev"
EMAIL_PORT = 25976
EMAIL_USE_TLS = True # STARTTLS (required). Do not set EMAIL_USE_SSL.
EMAIL_HOST_USER = "spacepost"
EMAIL_HOST_PASSWORD = os.environ["SPACEPOST_API_KEY"]
DEFAULT_FROM_EMAIL = "Acme <hello@acme.com>"
SERVER_EMAIL = "Acme Alerts <alerts@acme.com>" # used for error emails to ADMINS

Verwende EMAIL_USE_TLS (STARTTLS) und lass EMAIL_USE_SSL ungesetzt: Implizites TLS (Port 465) wird noch nicht angeboten.

from django.core.mail import EmailMultiAlternatives
msg = EmailMultiAlternatives(
subject="Welcome",
body="Welcome to Acme.",
to=["user@example.com"],
headers={"X-SpacePost-Tags": "category=welcome"},
)
msg.attach_alternative("<p>Welcome to <b>Acme</b>.</p>", "text/html")
msg.send()

Passwort-Zurücksetzungen und andere eingebaute E-Mails verwenden DEFAULT_FROM_EMAIL, daher muss diese Adresse auf einer verifizierten Domain liegen.

Teste in der Shell:

Terminal-Fenster
python manage.py sendtestemail delivered@test.spacepost.dev