Django 配置 qq 邮箱发送邮件

目录

  • 一、实验环境
  • 二、获取QQ邮箱授权码
    • 1、什么是授权码?
    • 2、怎么获取授权码?
  • 三、Django中配置
    • setting.py中添加如下代码
    • 文本邮件
    • HTML 邮件

一、实验环境

Python3.7 + Django2.1.3

二、获取QQ邮箱授权码

1、什么是授权码?

授权码是QQ邮箱推出的,用于登录第三方客户端的专用密码。

适用于登录以下服务:POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务。

温馨提醒:为了你的帐户安全,更改QQ密码以及独立密码会触发授权码过期,需要重新获取新的授权码登录。

2、怎么获取授权码?

操作: 设置 ---> 帐户 ,按照以下流程操作。

(1)点击“生成授权码”

(2)验证密保

(3)获取授权码

三、Django中配置

setting.py中添加如下代码

# Host for sending email.
EMAIL_HOST = 'smtp.qq.com'                 # 发送方的smtp服务器地址

# Port for sending email.
EMAIL_PORT = 587                           # smtp服务端口

# Optional SMTP authentication information for EMAIL_HOST.
EMAIL_HOST_USER = 'you [email protected]'       # 发送方 邮箱地址
EMAIL_HOST_PASSWORD = 'uzlbagwxizkfcfdf'   # 获得的  授权码
EMAIL_USE_TLS = True                       # 必须为True
EMAIL_USE_SSL = False
EMAIL_SSL_CERTFILE = None
EMAIL_SSL_KEYFILE = None
EMAIL_TIMEOUT = None

# Default email address to use for various automated correspondence from
# the site managers.
DEFAULT_FROM_EMAIL = 'you [email protected]'  # 和 EMAIL_HOST_USER  相同
  • 注意:

    • 不添加授权码 报 SMTPAuthenticationError 错误 ,

文本邮件

send_email.py 代码如下:

import os
from django.core.mail import send_mail

os.environ['DJANGO_SETTINGS_MODULE'] = 'suosuo.settings'   #  必须添加 , 依赖于 Django 

if __name__ == '__main__':

    res = send_mail(
        '来自www.liujiangblog.com的测试邮件',
        '欢迎访问www.cnblogs.com/shiwei1930,这里是SUOSUO博客站点,本站专注于Python、Django技术的分享!',
        'you [email protected]',
        ['target [email protected]'],
    )
    print('res=', res)   #  成功 返回  1

# 对于send_mail方法,
#    第一个参数是邮件主题subject;
#    第二个参数是邮件具体内容;
#    第三个参数是邮件发送方,
#    第四个参数是接受方的邮件地址列表, 需要和你settings中的一致;

HTML 邮件

send_email.py 代码如下:

import os
from django.core.mail import EmailMultiAlternatives

os.environ['DJANGO_SETTINGS_MODULE'] = 'suosuo.settings'

if __name__ == '__main__':

    subject = '来自www.cnblogs.com/shiwei1930的测试邮件'
    from_email=  'you [email protected]'
    to = ['target [email protected]']
    text_content = '欢迎访问www.cnblogs.com/shiwei1930,这里是SUOSUO站点,专注于Python和Django技术的分享!'
    html_content = '<p>欢迎访问<a href="http://www.cnblogs.com/shiwei1930" target=blank>www.cnblogs.com/shiwei1930</a>,这里是SUOSUO站点,本站专注于Python、Django的分享!</p>'
    msg = EmailMultiAlternatives(subject, text_content, from_email, to)
    msg.attach_alternative(html_content, "text/html")
    msg.send()

# 其中的text_content是用于当HTML内容无效时的替代txt文本。

原文地址:https://www.cnblogs.com/shiwei1930/p/11747719.html

时间: 2024-07-31 19:51:32

Django 配置 qq 邮箱发送邮件的相关文章

Python Django 配置QQ邮箱发送邮件

一.实验环境 Python2.7 + Django1.10.0 二.获取QQ邮箱授权码 1.什么是授权码? 授权码是QQ邮箱推出的,用于登录第三方客户端的专用密码. 适用于登录以下服务:POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务. 温馨提醒:为了你的帐户安全,更改QQ密码以及独立密码会触发授权码过期,需要重新获取新的授权码登录. 2.怎么获取授权码? 先进入设置->帐户页面找到入口,按照以下流程操作. (1)点击“开启” (2)验证密保 (3)获取授权码 3

mialx配置qq邮箱发送邮件

#send mail use mailx(v12.0.4)#edit configure file set smtp-use-starttlsset [email protected]set smtp=smtp://smtp.qq.com:587set [email protected]set smtp-auth-password=xxxxxxxxxxxxset smtp-auth=loginset ssl-verify=ignoreset nss-config-dir=/etc/pki/nss

基于java mail实现简单的QQ邮箱发送邮件

刚学习到java邮件相关的知识,先写下这篇博客,方便以后翻阅学习. -----------------------------第一步 开启SMTP服务 在 QQ 邮箱里的 设置->账户里开启 SMTP 服务 完成验证 获取授权码(后面代码实现时使用) -----------------------------第二步 环境配置 即下载第三方库 https://github.com/javaee/javamail/releases -----------------------------第三步 代

杂项之使用qq邮箱发送邮件

杂项之使用qq邮箱发送邮件 本节内容 特殊设置 测试代码 1. 特殊设置 之前QQ邮箱直接可以通过smtp协议发送邮件,不需要进行一些特殊的设置,但是最近使用QQ邮箱测试的时候发现以前使用的办法无法奏效了...于是上网查了查,QQ对这方面做了一些限制,必须使用授权码才能登陆邮箱.官方链接在这:http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256按照上面的官方文档配置好之后就可以使用QQ邮箱发

SpringBoot使用qq邮箱发送邮件

最近公司要做一个邮箱注册和重置密码的功能,因为之前就做过,但是不是Springboot项目,所以相对来说还是比较容易的,在这里记录一下. 一.引用Maven依赖 这里使用spring自带的邮件jar包 <!-- 邮件服务 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId&g

Android配置QQ邮箱问题

用Android系统自带邮箱客户端登录QQ邮箱失败: 解决办法: 从浏览器打开QQ邮箱--->>>设置--->>>邮箱设置--->>>账户--->>> POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 --->>>勾选前两项即可(POP3/SMTP服务,IMAP/SMTP服务) --->>>保存更改 --->>>OK(再次从Android登录即可)

qq邮箱发送邮件封装

使用qq发送邮件 # coding=utf8 """ qq邮箱发送邮件 """ import sys reload(sys) sys.setdefaultencoding('utf8') import smtplib from email.mime.text import MIMEText class QQMailClient(): """使用qq邮箱发送邮件""" def __init

Laravel5使用QQ邮箱发送邮件配置

在.env文件中设置如下MAIL_DRIVER=smtpMAIL_HOST=smtp.qq.comMAIL_PORT=465[email protected]MAIL_PASSWORD=填写授权码(在QQ邮箱设置-账户-POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务-生成授权码)MAIL_ENCRYPTION=ssl 在config/mail.php文件中设置如下'from' => ['address' => '[email protected]', 'nam

PHP 利用 QQ 邮箱发送邮件「PHPMailer」

在 PHP 应用开发中,往往需要验证用户邮箱.发送消息通知,而使用 PHP 内置的 mail() 函数,则需要邮件系统的支持. 如果熟悉 IMAP/SMTP 协议,结合 Socket 功能就可以编写邮件发送程序了,不过开发这样一个程序并不容易. 好在 PHPMailer 封装的足够强大,使用它可以更加便捷的发送邮件,免去了我们很多额外的麻烦. PHPMailer PHPMailer 是一个封装好的 PHP 邮件发送类,支持发送 HTML 内容的电子邮件,以及可以添加附件发送,并不像 PHP 本身