IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Python-SMTP邮件发送 -> 正文阅读

[系统运维]Python-SMTP邮件发送

一、开通邮箱SMPT服务

以QQ邮箱为例:

1.打开邮箱 - 设置 - 账户

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QsEqXsH3-1636385629805)(image-20211108221320588.png)]

如果出现了如下情况,到QQ安全中心关闭邮箱登录保护 即可

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nNvayFTw-1636385578100)(image-20211108221407346.png)]

2.开启IMAP/SMTP服务

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ItWgSrg1-1636385578102)(image-20211108221900261.png)]

在这里插入图片描述

3.生成授权码(之后会当成邮箱的密码)

在这里插入图片描述

二:邮件发送

1.封装的邮件发送代码

import smtplib
from typing import Tuple
from email.utils import formataddr
from email.mime.text import MIMEText


class SendEmailClient:

    def __init__(self):
        self.sender_server = 'smtp.qq.com'  # 邮箱的SMTP服务器
        self.sender_port = 465  # SMTP服务器端口号
        self.sender_nickname = 'xxx'   # 发件人的昵称
        self.sender_account = 'XXXXXXXXX@qq.com'   # 发件人的账户
        self.sender_password = 'XXXXXXXX'   # 发件人的密码(授权码作为密码)

    def send_normal_email(self, receiver_account: str, receiver_nickname: str, title: str, content: str) -> Tuple[bool, str]:
        """
        发送普通邮件(只有内容,没有附件)

        :param receiver_account: 收件人邮箱账户
        :param receiver_nickname: 收件人昵称
        :param title: 邮件标题
        :param content: 邮件内容
        :return: tuple(bool,发送提示)
        """
        message = MIMEText(_text=content, _subtype='plain', _charset='utf-8')
        message['From'] = formataddr([self.sender_nickname, self.sender_account])
        message['To'] = formataddr([receiver_nickname, receiver_account])
        message['Subject'] = title

        result, msg = True, '邮件发送成功!'
        try:
            server = smtplib.SMTP_SSL(self.sender_server, self.sender_port)
            server.login(self.sender_account, self.sender_password)
            server.sendmail(self.sender_account, [receiver_account, ], message.as_string())
            server.quit()
        except Exception as e:
            result = False
            msg = f'邮件发送失败:{e}'
        return result, msg


se_client = SendEmailClient()
se_client.send_normal_email('XXXXXXXXX@qq.com', '美女美女', '测试邮件', '我爱你')

2.发送效果

normal_email(‘XXXXXXXXX@qq.com’, ‘美女美女’, ‘测试邮件’, ‘我爱你’)

在这里插入图片描述

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-11-09 20:02:38  更:2021-11-09 20:03:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 20:51:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码