跳转到内容

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

使用 EMAIL_USE_TLS(STARTTLS),不要设置 EMAIL_USE_SSL:暂不提供隐式 TLS(465 端口)。

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

重置密码及其他内置邮件使用 DEFAULT_FROM_EMAIL,因此它必须位于已验证的域名上。

在 shell 中测试:

终端窗口
python manage.py sendtestemail delivered@test.spacepost.dev