使用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_serverport为实际的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协议发送邮件,并打印出发送人的信息。希望本文能帮助你掌握这一基础技能,并为你在邮件处理方面的深入学习打下良好的基础。如果你遇到任何问题,请随时提出!祝你编程愉快!