django自带的django.core.mail模块实现发邮件的功能

https://www.cnblogs.com/chichung/p/9983818.html

django自带了一个模块,可以实现发邮件的功能。如果项目开发遇到需要发邮件进行验证的时候可以用到。

1.先要准备发件人

发邮件需要使用SMTP。SMTP是什么呢?

简单邮件传输协议(Simple Mail Transfer Protocol,SMTP):用于发送和中转发出的电子邮件,占用服务器的25/TCP端口。

如果公司的规模大点,可能会搭建自己域名的邮箱,如果需要了解可以看下:https://www.linuxprobe.com/chapter-15.html

常用的免费服务器有:163、126、QQ,这里以163为例。163开启SMTP服务可见:https://jingyan.baidu.com/article/7f41ecec3e8d35593d095c93.html

开启完SMTP服务,就算准备好了发件人了。

2.Django配置文件中,设置有关邮件的配置信息

复制代码
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.163.com'  # SMTP服务器地址
EMAIL_PORT = 25
#发送邮件的邮箱
EMAIL_HOST_USER = 'xxxx@163.com'
#在邮箱中设置的客户端授权密码
EMAIL_HOST_PASSWORD = 'xxxx'
#收件人看到的发件人
EMAIL_FROM = 'xx商城<xxxx@163.com>'
复制代码

3.使用Django提供的模块发送邮件

django.core.mail模块提供了send_mail来发送邮件。

send_mail(subjectmessagefrom_emailrecipient_list,html_message=None)

  • subject 邮件标题
  • message 普通邮件正文, 普通字符串
  • from_email 发件人
  • recipient_list 收件人列表,这里一定要是列表
  • html_message 多媒体邮件正文,可以是html字符串
原文地址:https://www.cnblogs.com/idyllcheung/p/13821220.html