|
| 1 | +在实际开发中,当你收到一个需求的时候,比如要做一个「收发邮件」的功能。 |
| 2 | + |
| 3 | +如果你完全没有印象,没有思路,可以直接 Google 搜索的。 |
| 4 | + |
| 5 | +因为我们不可能对每个知识点都了解,不了解不可耻,但要懂得怎么去找资料了解。 |
| 6 | + |
| 7 | +强调一下, |
| 8 | + |
| 9 | +用 Google 搜索。 |
| 10 | + |
| 11 | +用 Google 搜索。 |
| 12 | + |
| 13 | +用 Google 搜索。 |
| 14 | + |
| 15 | +恕我直言,百度搜索是真的辣鸡。 |
| 16 | + |
| 17 | +那我们怎么去找资料呢? |
| 18 | + |
| 19 | +首先我们可以直接 Google 「Python 收发邮件」,就可以得到这么一个结果。 |
| 20 | + |
| 21 | + |
| 22 | + |
| 23 | +这种常用的需求,基本只要看前几个就能知道大概的思路了。 |
| 24 | + |
| 25 | +可以看到,用 Python 实现邮件的收发,主要用到 smtplib 和 email这两个模块。 |
| 26 | + |
| 27 | + |
| 28 | +至于这些模块怎么用,直接看 [Python 官方文档](https://docs.python.org/3.7/library/smtplib.html?highlight=smtplib) |
| 29 | + |
| 30 | + |
| 31 | + |
| 32 | +真的,没有任何教程比官方文档资料还全。 |
| 33 | + |
| 34 | +不过我们可以总结一下这些内容。 |
| 35 | + |
| 36 | +**1、SMTP 发送邮件** |
| 37 | + |
| 38 | +Python 发送邮件主要步骤如下: |
| 39 | + |
| 40 | +* `import smtplib` |
| 41 | + - 导入 `smtplib` 模块,主要用于构造传输服务的 |
| 42 | +* `server = smtplib.SMTP()` |
| 43 | + - SMTP 是 smtplib 模块中的一个类(class),实例化这个类,方便我们调用他里面的方法。 |
| 44 | + - SMTP (Simple Mail Transfer Protocol)翻译过来是“简单邮件传输协议”的意思,SMTP 协议是由源服务器到目的地服务器传送邮件的一组规则。 |
| 45 | +* `server.connect(host, port)` |
| 46 | + - 连接(connect)指定的服务器 |
| 47 | + - host 是指定连接的邮箱服务器,你可以指定服务器的域名。 |
| 48 | + - port 服务器的端口号 |
| 49 | + - 这些怎么找到,好比 qq 邮箱,在「设置」那里就有相关的开关和说明。 |
| 50 | + -  |
| 51 | + - 点相关的说明,你就能看到对应的服务器地址和端口号了 |
| 52 | + -  |
| 53 | +* `server.login(username, password)` |
| 54 | + - 登录的账号密码 |
| 55 | +* `server.sendmail(from_addr, to_addr, msg)` |
| 56 | + - 发送邮件,发送邮件一般是谁发给了谁,发送了什么?总结为也就是三个参数,发送者,接受者,发送邮件的内容。 |
| 57 | + - from_addr:邮件发送地址 |
| 58 | + - to_addr:邮件收件人地址 |
| 59 | + - msg : 发送邮件的内容,邮件内容需要用到 `email` 模块。通过 `email` 模块我们可以定义邮件的主题,收件人信息,发件人信息等等。 |
| 60 | +* `server.quit()` |
| 61 | + - 退出服务 |
| 62 | + |
| 63 | + 直接看下例子,给 QQ 邮箱发送一个邮件: |
| 64 | + |
| 65 | + |
| 66 | + |
0 commit comments