今天看了下如何在django中发送邮件,看的时候有些地方不懂,但是在实践了一下后就明白了,废话不多说,直接上笔记
from django.core.mail import send_mail, send_mass_mail, mail_admins
# 单发的邮件
"""
send_main(subject,message,from_email,recipient_list,fail_silently = False,auth_user = None,auth_password = None,connection = None,html_message = None)
参数1:一个字符串,表示文件的主题
参数2:一个字符串,邮件的内容
参数3:一个字符串,发送者
参数4:字符串列表,表示收件人
参数5:为False时,send_mail()在发生错误时会抛出 smtplib.SMTPException异常
参数6:可选的用户名用来验证SMTP服务器,如果你要特别指定使用哪个邮箱帐号,就指定这个参数。如果没有提供这个值,Django将会使用settings中EMAIL_HOST_USER的值
参数7:可选的密码用来验证SMTP服务器。如果没有提供这个值,Django 将会使用settings中EMAIL_HOST_PASSWORD的值。
参数8:可选的用来发送邮件的电子邮件后端
参数9:如果提供了html_message,可以发送带HTML代码的邮件
"""
# 群发的邮件
"""
send_mass_mail(datatuple,fail_silently = False,auth_user = None,auth_password = None,connection = None)
参数1:是一个元组,每个元组的类型为(subject,message,from_email,recipient_list)
参数2:参数3:参数4:参数5:与send_mail()中的相同
"""
# 向管理员发送邮件
"""
mail_admins(subject,message,fail_silently = False,connection = None,html_message = None)
使用EMAIL_SUBJECT_PREFIX设置的值为邮件标题前缀,默认为'Django'
使用SERVER_EMAIL的值为发件人
会向ADMINS = (('1531391246', '1531391246@qq.com'),)中设置的邮箱发送邮件
"""
"""
mail_managers(subject,message,fail_silently = False,connection = None,html_message = None)
与上一个类似
"""
下面再来看一下settings.py中的配置
EMAIL_HOST = 'smtp.qq.com' # 设置SMTP服务器,网易的为 smtp.163.com,其他的以此类推
EMAIL_PORT = 25 # 设置端口,一般都是25
EMAIL_HOST_USER = "153*******@qq.com" # 你的邮箱地址
EMAIL_HOST_PASSWORD = "" # 这个时邮箱的授权码,不是登陆密码
EMAIL_SUBJECT_PREFIX = "[你的博客]" # 邮件标题的前缀
SERVER_EMAIL = "153*******@qq.com" # 管理员的邮箱的地址
# 这是在生产环境中,如果发生错误,发送邮件到这个邮箱
ADMINS = (('153*******', '153*******@qq.com'),)
暂时只看到了这里,其他的过几天补充