番外篇·下:仙界游历

第四十三章:纸鹤传书 (SMTP Email)

← 上一章 | 返回宗门地图
路人
Py
师尊,我虽然能写出很厉害的程序,但怎么把结果告诉远方的道友呢?
总不能每次都跑过去给他们看屏幕吧?
听说修仙界有一种 千里传音 之术?
吉多
老祖
那叫 纸鹤传书 (Email)
Python 掌握着 smtplib 这门古老的法术。
只要你念动咒语,就能让无数只纸鹤飞向世界的任何角落,带去你的问候(或报警信息)。

1. 折纸鹤 (MIMEText)

首先,你要把信的内容写好,并折成纸鹤的形状。

我们使用 email.mime 模块来构建信件。

crane.py
import smtplib
from email.mime.text import MIMEText
from email.header import Header

# 1. 写信
content = "师姐,今晚月色真美,代码如诗。 —— 你的师弟"
message = MIMEText(content, 'plain', 'utf-8')

# 2. 贴上邮票 (设置头信息)
message['From'] = Header("路人Py ", 'utf-8')
message['To'] = Header("神仙姐姐 ", 'utf-8')
message['Subject'] = Header("关于双修道侣系统的可行性报告", 'utf-8')

2. 召唤信使 (SMTP)

写好信后,需要找专门的 信使驿站 (SMTP Server) 帮你发送。

常用的驿站有 QQ邮箱、163邮箱、Gmail 等。

# 3. 连接驿站 (以 QQ 邮箱为例)
smtp_server = "smtp.qq.com"
password = "你的授权码" # 注意:不是QQ密码!

try:
    # 建立安全通道 (SSL)
    server = smtplib.SMTP_SSL(smtp_server, 465)
    
    # 亮出令牌 (登录)
    server.login("你的QQ号@qq.com", password)
    
    # 放飞纸鹤
    server.sendmail("你的QQ号@qq.com", ["目标邮箱@example.com"], message.as_string())
    print("✅ 纸鹤已乘风而去!")
    
    server.quit()
except Exception as e:
    print(f"❌ 纸鹤半路被截:{e}")
神仙
姐姐
师弟,如果想发送带 图片附件 的信,
记得用 MIMEMultipart 哦!
不然纸鹤太轻,飞不远的。

🎮 试练:驿站口令

任务:在使用 SMTP 发送邮件时,通常需要使用什么来代替账号密码进行登录?

驿站守卫:口令何在?
>>>
下一章:蛛后罗网 →