当前位置: 首页 > 文档资料 > Python 入门基础 >

Python 实现收发邮件

优质
小牛编辑
131浏览
2023-12-01

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

如果你完全没有印象,没有思路,可以直接 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 邮箱发送一个邮件: