一、配置
在setting.py中进行相关配置:
EMAIL_HOST = 'smtp.sina.cn' #SMTP地址
EMAIL_PORT = 25 #SMTP端口
EMAIL_HOST_USER = 'xxxxxxxxxxx@sina.cn' #我自己的邮箱
EMAIL_HOST_PASSWORD = 'xxxxxxxxxxxx' #我的邮箱密码
EMAIL_USE_TLS = False #与SMTP服务器通信时,是否启动TLS链接(安全链接)。默认是false
EMAIL_FROM = 'xxxxxxxxxxx@sina.cn' #发件人
二、发送邮件
新建一个send_email.py文件。采用diango中的send_email()方法进行邮件的发送。
send_mail(subject, message, from_email, recipient_list, fail_silently=False, auth_user=None, auth_password=None, connection=None, html_message=None)
发送邮件最简单的方法是使用django.core.mail.send_mail()。
subject、message、from_email和 recipient_list 参数是必须的。
- subject:一个字符串,为邮件标题。
- message:一个字符串,邮件正文。
- from_email:一个字符串,发件人。
- recipient_list:一个由邮箱地址组成的字符串列表。recipient_list 中的每一个成员都会在邮件信息的“To:”区域看到其它成员。
from django.core.mail import send_mail
from MxOnline2.settings import EMAIL_FROM
email_title = '慕学在线网注册激活平台'
email_body = '请点击下面的链接激活你的账号:xxx'
send_status = send_mail(email_title, email_body, EMAIL_FROM, [xxxxx.qq.com])
一次性发送多个邮件:
from django.core.mail import send_mass_mail
message1 = ('Subject here', 'Here is the message', 'from@example.com', ['first@example.com', 'other@example.com'])
message2 = ('Another Subject', 'Here is another message', 'from@example.com', ['second@test.com'])
send_mass_mail((message1, message2), fail_silently=False)
备注:send_mail 每次发邮件都会建立一个连接,发多封邮件时建立多个连接。而 send_mass_mail 是建立单个连接发送多封邮件,所以一次性发送多封邮件时 send_mass_mail 要优于 send_mail。
更详细的用法,请参见官方文档:点此进入