Python实现收发邮件

在实际开发中,当你收到一个需求的时候,比如要做一个「收发邮件」的功能。

如果你完全没有印象,没有思路,可以直接 Google 搜索的。

因为我们不可能对每个知识点都了解,不了解不可耻,但要懂得怎么去找资料了解。

强调一下,

用 Google 搜索。

用 Google 搜索。

用 Google 搜索。

恕我直言,百度搜索是真的辣鸡。

那我们怎么去找资料呢?

首先我们可以直接 Google 「Python 收发邮件」,就可以得到这么一个结果。

这种常用的需求,基本只要看前几个就能知道大概的思路了。

可以看到,用 Python 实现邮件的收发,主要用到 smtplib 和 email这两个模块。

至于这些模块怎么用,直接看 Python 官方文档

真的,没有任何教程比官方文档资料还全。

不过我们可以总结一下这些内容。

1、SMTP 发送邮件

Python 发送邮件主要步骤如下:

  • import smtplib

    • 导入 smtplib 模块,主要用于构造传输服务的
  • server = smtplib.SMTP()

    • SMTP 是 smtplib 模块中的一个类(class),实例化这个类,方便我们调用他里面的方法。
    • SMTP (Simple Mail Transfer Protocol)翻译过来是“简单邮件传输协议”的意思,SMTP 协议是由源服务器到目的地服务器传送邮件的一组规则。
  • server.connect(host, port)

    • 连接(connect)指定的服务器
    • host 是指定连接的邮箱服务器,你可以指定服务器的域名。
    • port 服务器的端口号
    • 这些怎么找到,好比 qq 邮箱,在「设置」那里就有相关的开关和说明。
    • 点相关的说明,你就能看到对应的服务器地址和端口号了
  • server.login(username, password)

    • 登录的账号密码
  • server.sendmail(from_addr, to_addr, msg)

    • 发送邮件,发送邮件一般是谁发给了谁,发送了什么?总结为也就是三个参数,发送者,接受者,发送邮件的内容。
    • from_addr:邮件发送地址
    • to_addr:邮件收件人地址
    • msg : 发送邮件的内容,邮件内容需要用到 email 模块。通过 email 模块我们可以定义邮件的主题,收件人信息,发件人信息等等。
  • server.quit()

    • 退出服务

    直接看下例子,给 QQ 邮箱发送一个邮件:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/127969.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jmeter常用断言之断言持续时间简介

Duration Assertion:断言持续时间。 断言持续时间通常用于做性能测试,一般用于检查HTTP请求的响应时间是否超过预期值。而这个响应时间是性能测试中常关注的一个性能指标。 一、添加断言方式 根据需要可在【测试计划】、【线程组】、【线程请求】下添加…

Docker 镜像的缓存特性

Author:rab 目录 前言一、构建缓存二、Pull 缓存总结 前言 首先我们要清楚,Docker 的镜像结构是分层的,镜像本身是只读的(不管任何一层),当我们基于某镜像运行一个容器时,会有一个新的可写层被…

Linux嵌入式学习之Ubuntu入门(六)shell脚本详解

系列文章内容 Linux嵌入式学习之Ubuntu入门(一)基本命令、软件安装、文件结构、编辑器介绍 Linux嵌入式学习之Ubuntu入门(二)磁盘文件介绍及分区、格式化等 Linux嵌入式学习之Ubuntu入门(三)用户、用户组…

【C++设计模式之状态模式:行为型】分析及示例

简介 状态模式(State Pattern)是一种行为型设计模式,它允许对象在内部状态改变时改变其行为,看起来就像是改变了其类。状态模式将对象的状态封装成不同的类,并使得对象在不同状态下有不同的行为。 描述 状态模式通过…

Redis的五种常用数据类型

1.字符串 String的数据结构是简单的Key-Value模型,Value可以是字符串,也可以是数字。 String是Redis最基本的类型,是二进制安全的,意味着Redis的string可以包含任何数据,比如jpg图片。 一个redis中字符串value最大是…

整理mongodb文档:副本集二

个人博客 整理mongodb文档:副本集二 个人博客,求推荐,本片内容较为乱 文章概叙 本文章主要讲在MongoDB的副本集中的一些注意点,主要是如何对seconadry进行数据操作,以及对更新数据的一些介绍 查看当前节点 上一集讲了关于搭…

B (1089) : DS单链表--合并

Description 假定两个单链表是递增有序,定义并实现以下函数,完成两个单链表的合并,继续保持递增有序 int LL_merge(ListNode *La, ListNode *Lb) Input 第1行先输入n表示有n个数据,接着输入n个数据 第2行先输入m表示有M个数据…

TSINGSEE青犀基于AI视频智能分析的客流统计分析场景方案

随着AI技术的不断发展与人类需求的不断提升,视觉目标的检测识别、智能监控在人们的生活中均有着广泛的应用。其中,智能安防视频监控是计算机视觉的重要应用领域,而AI客流统计则是近年来此领域大家关注热度较高的技术之一。 行业痛点 传统的客…

【抢先体验】开通使用 ChatGPT 语音版功能保姆级教程

大家好,我是苍何,一个土木转码的非典型程序员,也是一名技术管理者,同时也是 AI 应用的探索者。今天在视频号上看到和 ChatGPT 语音对话的视频,其声音的真实感太让人震撼了,于是也想去抢先体验一下 ChatGPT …

互联网项目有哪些值得做的

互联网已经融入了我们生活的方方面面,从电商巨头到科技创新,互联网带来的变革和便利无处不在。而在这个信息广泛的时代,越来越多的人开始思考如何利用互联网去创造价值。现如今,互联网项目的形式多种多样,有些让我们的…

python—如何提取word中指定内容

假设有一个Word,该Word中存在 “联系人” 关键字,如何将该Word中的联系人所对应的内容提取出来呢? 该Word内容如下所示: 要在给定的Word文档中提取出与"联系人"关键字对应的内容,可以使用Python的py…

详解链表oJ<反转链表,链表的中间节点及链表的回文>

hello,大家好,这里是Dark FlameMaster,今天和大家分享的是有关数据结构链表的几道题目,链表的中间节点,反转链表及判断链表是否为回文结构,放在一起讲解会印象更加深刻。 文章目录 一,链表的中间节点二&…