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
(subject, message, from_email, recipient_list,html_message=None)
- subject 邮件标题
- message 普通邮件正文, 普通字符串
- from_email 发件人
- recipient_list 收件人列表,这里一定要是列表
- html_message 多媒体邮件正文,可以是html字符串