Aller au contenu

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

Utilisez EMAIL_USE_TLS (STARTTLS) et ne définissez pas EMAIL_USE_SSL : le TLS implicite (port 465) n’est pas encore proposé.

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()

La réinitialisation de mot de passe et les autres e-mails intégrés utilisent DEFAULT_FROM_EMAIL, qui doit donc être sur un domaine vérifié.

Testez depuis le shell :

Fenêtre de terminal
python manage.py sendtestemail delivered@test.spacepost.dev