在 Ubuntu 22.04 上使用 Python 脚本发送邮件到你的 126 邮箱,你可以使用 smtplib 库。下面是一个简单的示例脚本,展示了如何使用 Python 通过 SMTP 协议发送邮件:
1. 安装必要的库
你需要确保 Python 的 smtplib 库可用。它是 Python 标准库的一部分,所以不需要额外安装。为了发送邮件,你还需要 email 库,下面的代码会用到它。
2. Python 脚本示例
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
# 设置邮件内容
sender_email = "your_email@126.com" # 你的 163 邮箱
receiver_email = "doctorxiaoming@126.com" # 收件人邮箱
password = "your_email_password" # 你的 163 邮箱密码(注意:不要将密码暴露在公开的地方)
subject = "你好"
body = "你好,这是来自 Python 的测试邮件。"
# 创建一个邮件对象
msg = MIMEMultipart()
msg['From'] = sender_email
msg['To'] = receiver_email
msg['Subject'] = subject
msg.attach(MIMEText(body, 'plain'))
# 设置 SMTP 服务器并发送邮件
try:
server = smtplib.SMTP('smtp.163.com', 25) # 163 邮箱的 SMTP 服务器
server.starttls() # 启动 TLS 加密
server.login(sender_email, password) # 登录邮箱
text = msg.as_string() # 将邮件对象转为字符串
server.sendmail(sender_email, receiver_email, text) # 发送邮件
print("邮件发送成功!")
except Exception as e:
print(f"发送邮件失败: {e}")
finally:
server.quit() # 关闭服务器连接
3. 关键步骤解释:
- 创建邮件内容:我们使用
MIMEText和MIMEMultipart来构建邮件的内容。MIMEText用于邮件的文本部分,MIMEMultipart用于将多个部分组合在一起。 - 连接 SMTP 服务器:我们通过
smtplib.SMTP()连接 126 邮箱的 SMTP 服务器。对于 126 邮箱,SMTP 服务器地址是smtp.126.com,端口是 25。 - 加密和登录:通过
starttls()启用 TLS 加密,再用login()方法登录你的邮箱账户。 - 发送邮件:通过
sendmail()方法发送邮件。
4. 注意事项:
- 你需要将
sender_email和password替换成你自己的 163 邮箱地址和密码。 - 如果你启用了邮箱的两步验证,可能需要创建并使用一个专用的应用密码,而不是直接使用你的邮箱密码。
- 邮件发送成功后,你会看到 “邮件发送成功!”。
5. 测试脚本
运行脚本后,检查你的 126 邮箱是否收到了 “你好” 的邮件。如果遇到任何问题,检查错误信息并确保 SMTP 配置和网络连接没有问题。










