Python发送邮件(以QQ邮箱为例)

1.首先去QQ邮箱  设置-》账户 找到邮箱服务

Python发送邮件(以QQ邮箱为例)_第1张图片

 2.打开smtp服务,生成授权码,这里需要QQ邮箱绑定手机号发送验证码发送一条短信进行验证。

发送后,复制授权码。稍后会用到。

Python发送邮件(以QQ邮箱为例)_第2张图片

 3.编写程序

import ssl
import requests
import requests
import json
from flask import jsonify
from flask import Flask, request
# smtplib 用于邮件的发信动作
import smtplib
# email 用于构建邮件内容
from email.mime.text import MIMEText
# 构建邮件头
from email.header import Header
from email.message import EmailMessage
import schedule
import time
from threading import Timer


def sms():
    # 这里我调用接口了,如果不调用 可以直接删除
    xg_url = ''
    # 无需安装第三方库
    key = 'xx'  # 换成你的QQ邮箱SMTP的授权码(QQ邮箱设置里)
    EMAIL_ADDRESS = '[email protected]'  # 换成你的邮箱地址
    EMAIL_PASSWORD = key
    smtp = smtplib.SMTP('smtp.qq.com', 25)
    context = ssl.create_default_context()
    sender = EMAIL_ADDRESS  # 发件邮箱
    receiver = ['[email protected]', '[email protected]', '[email protected]']
    # 收件邮箱

    subject = "主题"
    # 这里我调用了自己的接口,如果不需要直接将body改为 body = '正文'
    body = requests.get(xg_url).text
    msg = EmailMessage()
    msg['subject'] = subject  # 邮件主题
    msg['From'] = sender
    msg['To'] = receiver
    msg.set_content(body)  # 邮件内容

    with smtplib.SMTP_SSL("smtp.qq.com", 465, context=context) as smtp:
        smtp.login(EMAIL_ADDRESS, EMAIL_PASSWORD)
        smtp.send_message(msg)


if __name__ == '__main__':
    sms()

        这里是以QQ邮箱为例,如果需要使用其他的邮箱发送,同理,只需要修改不同的smtp授权码和服务器地址。

你可能感兴趣的:(python,python,flask,开发语言)