Django发邮件

1、setting.py 设置

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = "smtp.163.com"  # 网易邮箱为例
EMAIL_PORT = '25'            # 网易邮箱的端口
EMAIL_HOST_USER = '你的邮箱'
EMAIL_HOST_PASSWORD = '你的密码'
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER    # 默认发邮件的邮箱

2、API

(1)send_mail()

  • subject: string,必选参数,邮件的主题
  • message: string,必选参数,邮件的内容
  • from_email: string,必选参数,发件人的邮箱
  • recipient_list: list,必选参数,收件人的邮箱,列表中的每个邮箱可在邮件的To:看到
  • fail_silently: Boolean。可选,置为False,则发送失败不会报错
  • auth_user: 可选参数,验证SMTP服务器的用户名,即邮箱地址,若不填则使用setting里面的EMAIL_HOST_USER。
  • auth_password: 可选参数,验证SMTP服务器的密码,即邮箱密码,若不填则使用setting里面的EMAIL_HOST_PASSWORD。
  • connection: 可选参数,发送邮件的后端设置,如果不填则使用默认的后端。
  • html_message: 可选参数

(2)send_mass_mail()

  • 用法差不多,参数的类型不一样。

(3)mail_admins()

  • 网站Admin用户发邮件的快捷方式

(4)mail_managers()

  • 网站Managers用户发邮件的快捷方式

(5) EmailMessage类

  • 以上接口都是 EmailMessage类的包装,并不包含 EmailMessage的所有功能,要使用 EmailMessage类的所有功能(如添加附件),就要直接实例化 EmailMessage类

3、坑

  • 使用这种方法发邮件前,要先保证在邮箱的客户端开通了SMTP服务。
  • 用QQ邮箱发邮件时,EMAIL_HOST_PASSWORD填的不是QQ邮箱的密码,而是授权码。获得授权码的方法:http://www.jianshu.com/p/5c30ff053381

参考资料:https://docs.djangoproject.com/en/1.11/topics/email/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值