- Django提供了发送邮件的类 django.core.mail
一、Django发送邮件流程分析
- 配置相关参数,由django的send_mail()方法向smtp服务器发送邮件信息,
- 由smtp服务器发向用户邮箱发送邮件
1、send_mail()方法介绍
- 在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字符串
二、发送邮件配置参数
# 发送邮件的配置参数
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' # 指定邮件后端 django
EMAIL_HOST = 'smtp.126.com' # 发邮件主机,邮箱的smtp服务器地址
EMAIL_PORT = 25 # 发邮件端口
EMAIL_HOST_USER = '[email protected]' # 授权的邮箱:发件箱
EMAIL_HOST_PASSWORD = '' # 邮箱授权时获得的密码,非注册登录密码
EMAIL_FROM = '老萝卜<[email protected]>' # 发件人抬头
准备发邮件服务器
-
1.进入邮箱,点击进入《设置》界面
-
- POP3/SMTP/IMAP,开启服务
- 根据提示,通过手机获得授权码 (EMAIL_HOST_PASSWORD )
- POP3/SMTP/IMAP,开启服务
-
3.设置授权码,记住设置的密码,Django中登录就是这个密码
三、发送邮箱示例:
subject = "商城邮箱验证"
html_message = '<p>尊敬的用户您好!</p>' \
'<p>感谢您使用商城。</p>' \
'<p>您的邮箱为:%s 。请点击此链接激活您的邮箱:</p>' \
'<p><a href="%s">%s<a></p>' % (email, 'www.baidu.com', 'www.baidu.com')
send_mail(subject, '', from_email=settings.EMAIL_FROM, recipient_list=[email], html_message=html_message)