注意:我们在这里提出 Cerely ,只是提供一种解决问题的思路,有兴趣可以自己研究。
from django.core import mail
然后调用 mail 的 send_mail 方法,该方法的定义如下:def send_mail(subject, message, from_email, recipient_list, fail_silently=False, auth_user=None, auth_password=None, connection=None, html_message=None):我们介绍主要参数的含义:
# 固定写法设置Email引擎 EMAIL_BACKEND ='django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = 'smtp.qq.com' # 腾讯QQ邮箱 SMTP 服务器地址 EMAIL_PORT = 25 # SMTP服务的端口号 EMAIL_HOST_USER = '2817801185@qq.com' #你的qq邮箱,邮件发送者的邮箱 EMAIL_HOST_PASSWORD = 'None' #你申请的授权码(略) EMAIL_USE_TLS = False #与SMTP服务器通信时,是否启用安全模式
def send_email(request): subject = 'C语言中文网链接' # 主题 from_email = settings.EMAIL_FROM # 发件人,在settings.py中已经配置 to_email = 'xxxxx@qq.com' # 邮件接收者列表 # 发送的消息 message = 'c语言中文网欢迎你点击登录 http://c.biancheng.net/' # 发送普通的消息使用的时候message # meg_html = '<a href="http://www.baidu.com">点击跳转</a>' # 发送的是一个html消息 需要指定 send_mail(subject, message, from_email, [to_email]) return HttpResponse('OK,邮件已经发送成功!')配置好 url 路径映射,并访问 127.0.0.1/index/send_email,就会得到显示邮件已经发送成功,查看我们的邮箱,可以看到发出的邮件。如下所示:
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) #fail_silentl运行异常的时候是否报错,默认为True不报错那么 send_mail 与 send_mass_mail 这两者的区别在哪里呢?send_mail 每次发邮件都会建立一个连接,发多封邮件时建立多个连接。而 send_mass_mail 是建立单个连接发送多封邮件,所以一次性发送多封邮件时 send_mass_mail 要优于 send_mail。
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有