Django——发送邮件
在web应用中,服务器对客户发送邮件来通知用户一些信息,可以使用邮件来实现。
Django中提供了邮件接口,使我们可以快捷的建设一个邮件发送系统。
以下是一个简单实例:
settings:
获取QQ邮箱的smtp授权码
# 邮件服务器配置
EMAIL_HOST = 'smtp.qq.com' # 如果是 163 改成 smtp.163.com
EMAIL_PORT = 465
EMAIL_HOST_USER = 'XXXX@qq.com' # 在这里填入邮件发送的QQ邮箱账号
EMAIL_HOST_PASSWORD = '11123232' # 请在这里填上您自己邮箱的授权码
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
EMAIL_USE_SSL = True
urls:
from qqemial import views
urlpatterns = [
path('admin/', admin.site.urls),
path('check_mail/', views.check_mail), #路由映射
]
views:
from django.shortcuts import HttpResponse
from django.core.mail import send_mail
from myemail import settings
# Create your views here.
def check_mail(request):
msg = '服务器运行良好' #邮件内容
send_mail(
subject='请注意这是Django邮件测试',
message=msg,
from_email=settings.EMAIL_HOST_USER,
recipient_list=["hyc554@gmail.com"] # 这里注意替换成自己的目的邮箱,不然就发到我的邮箱来了:)
)
return HttpResponse('测试邮件已发出请注意查收')
单人发送、多人发送格式:
#单人发送
from django.core.mail import send_mail
send_mail('Subject here--邮件标题', 'Here is the message--邮件内容.', '发件人from@example.com',
['收件人列表to@example.com'], fail_silently=False)
#多人发送
from django.core.mail import send_mass_mail
message1 = ('Subject here--邮件标题', 'Here is the message--邮件内容.', '发件人from@example.com',
['收件人列表to@example.com'])
message2 = ('Subject here--邮件标题', 'Here is the message--邮件内容.', '发件人from@example.com',
['收件人列表to@example.com'])
send_mass_mail((message1, message2), fail_silently=False)