使用django内置邮件服务
2018-05-03 本文已影响0人
浩哥2333
本教程需要一个开通smtp服务的邮箱帐号,我使用的是网易邮箱。如何注册和开通smtp请自行百度。
1.配置
将以下代码添加到settings.py
中、
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.163.com' # 邮箱服务地址 这里是163邮箱的
EMAIL_PORT = 25 # 端口号
EMAIL_HOST_USER = '' # 邮箱帐号
EMAIL_HOST_PASSWORD = '' # 邮箱密码
2.发送邮件
在你的项目下新建一个邮箱测试模块send_email.py。这只是临时演示使用的模块。具体如何使用自己定夺。
Django为我们提供了一个EmailMultiAlternatives类,可以同时发送文本和HTML内容。
from django.core.mail import EmailMultiAlternatives
from django.conf import settings
def send_email(email):
"""传入要发送的目标邮件地址"""
subject = '这是一封测试邮件' # 邮件主题
text_content = '我爱django' # 邮件文本内容
html_content = '<h1>我爱django</h1>' # 邮件html内容,可以加入 css js 等
msg = EmailMultiAlternatives(subject, text_content, settings.EMAIL_HOST_USER, [email])
msg.attach_alternative(html_content, "text/html")
msg.send()
直接在shell中测试,邮件是否正常发送。