使用Python3发送邮件并显示发送人
欢迎来到Python编程的奇妙世界!在这篇文章中,我们将一起学习如何使用Python3通过SMTP(简单邮件传输协议)发送电子邮件,并显示邮件的发送人。
文章概述
我们将按照以下步骤进行操作:
步骤 | 描述 |
---|---|
1 | 准备Python环境并导入所需模块 |
2 | 创建SMTP对象并连接邮件服务器 |
3 | 登录到邮件账户 |
4 | 创建邮件内容 |
5 | 发送邮件并显示发送人 |
6 | 关闭SMTP连接 |
接下来,我们将逐步实现每一个步骤。
第一步:准备Python环境并导入所需模块
确保你的计算机上已经安装了Python3。如果还没有,可以从[Python 官方网站](
接下来,打开你的代码编辑器或IDE(如PyCharm或VSCode),并导入我们需要的模块:
import smtplib # 用于发送电子邮件的模块
from email.mime.text import MIMEText # 用于处理邮件文本内容
from email.mime.multipart import MIMEMultipart # 处理多部分邮件
“这些模块将帮助我们构建邮件内容以及与SMTP服务器进行通信。”
第二步:创建SMTP对象并连接邮件服务器
在这一步中,我们需要创建一个SMTP对象并连接到我们使用的邮件服务器(如Gmail或其他)。确保你替换以下代码中的your_smtp_server
和port
为实际的SMTP服务器信息。
# 创建SMTP对象
smtp_server = "smtp.gmail.com" # 这里是Gmail的SMTP服务器
port = 587 # 使用TLS的端口
# 连接到SMTP服务器
server = smtplib.SMTP(smtp_server, port)
server.starttls() # 使用TLS加密连接
“连接到SMTP服务器后,我们启动TLS以确保我们的连接是安全的。”
第三步:登录到邮件账户
接下来,我们需要用发送邮件账户的用户名和密码登录到SMTP服务器。
# 输入你的邮箱和密码
email = "your_email@gmail.com" # 替换为你的邮箱
password = "your_password" # 输入你的电子邮件密码
# 登录到邮件账户
server.login(email, password) # 登录SMTP服务器
“请确保使用应用程序密码,如果你在使用Gmail,需要开启'允许不够安全的应用程序'选项。”
第四步:创建邮件内容
在这一步中,我们将创建邮件的主题、发件人、收件人和邮件正文内容。
# 创建邮件内容
message = MIMEMultipart() # 创建多部分邮件对象
message["From"] = email # 设置邮件发送人
message["To"] = "recipient_email@example.com" # 设置邮件接收人
message["Subject"] = "测试邮件" # 设置邮件主题
# 邮件正文内容
body = "这是一封通过Python发送的测试邮件!"
message.attach(MIMEText(body, "plain")) # 添加邮件正文
“
MIMEMultipart
允许我们创建复杂的邮件,包含文本和附件等内容。”
第五步:发送邮件并显示发送人
我们将使用SMTP对象的sendmail
方法发送邮件,并在发送后打印出发送人的信息。
# 发送邮件
server.sendmail(email, message["To"], message.as_string()) # 发送邮件
# 显示邮件发送人
print(f"邮件已成功发送!发送人: {message['From']}") # 打印发件人
“
sendmail
方法负责执行邮件发送,它需要发件人、收件人和邮件内容的字符串表示。”
第六步:关闭SMTP连接
完成邮件发送后,我们应及时关闭与SMTP服务器的连接。
# 关闭SMTP连接
server.quit() # 退出SMTP会话
“关闭连接是良好的编程习惯,避免可能的资源泄漏。”
整体代码示例
将上述所有步骤合并为一个完整的程序:
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
# SMTP设置
smtp_server = "smtp.gmail.com"
port = 587
# 创建SMTP对象并连接
server = smtplib.SMTP(smtp_server, port)
server.starttls()
# 登录账户
email = "your_email@gmail.com"
password = "your_password"
server.login(email, password)
# 创建邮件
message = MIMEMultipart()
message["From"] = email
message["To"] = "recipient_email@example.com"
message["Subject"] = "测试邮件"
body = "这是一封通过Python发送的测试邮件!"
message.attach(MIMEText(body, "plain"))
# 发送邮件
server.sendmail(email, message["To"], message.as_string())
print(f"邮件已成功发送!发送人: {message['From']}")
# 关闭SMTP连接
server.quit()
旅行图
接下来,让我们用Mermaid语法展示整个流程:
journey
title 发送电子邮件的步骤
section 准备
1. 准备Python环境: 5: 参与者
2. 导入所需模块: 4: 参与者
section 连接SMTP
3. 创建SMTP对象: 5: 参与者
4. 连接邮件服务器: 4: 参与者
section 登录
5. 登录邮件账户: 5: 参与者
section 创建邮件
6. 创建邮件内容: 4: 参与者
section 发送邮件
7. 发送邮件: 5: 参与者
8. 显示发送人: 4: 参与者
section 关闭连接
9. 关闭SMTP连接: 5: 参与者
结论
在本篇文章中,我们学习了如何使用Python3通过SMTP协议发送邮件,并打印出发送人的信息。希望本文能帮助你掌握这一基础技能,并为你在邮件处理方面的深入学习打下良好的基础。如果你遇到任何问题,请随时提出!祝你编程愉快!