返回

用 Python 通过 SMTP 发送邮件,原来这么简单

后端

好的,我将为您撰写一篇关于通过 SMTP 发送电子邮件的文章,希望这篇文章能够对您有所帮助。

一、SMTP 简介

SMTP(Simple Mail Transfer Protocol)是一种用于在计算机网络上传输电子邮件的协议。它定义了客户端(通常是邮件应用程序或脚本)与服务器(通常是邮件服务器)之间通信的规则。SMTP 协议使用文本命令和响应来传输电子邮件。

二、使用 Python 发送邮件

在 Python 中,我们可以使用 smtplib 库来发送电子邮件。smtplib 库是 Python 自带的库,因此您无需安装它。要使用 smtplib 库,您需要先导入它:

import smtplib

接下来,您需要创建一个 SMTP 对象。SMTP 对象用于连接到 SMTP 服务器。要创建一个 SMTP 对象,您需要指定 SMTP 服务器的地址和端口。例如,要连接到 Gmail 的 SMTP 服务器,您可以使用以下代码:

smtp_server = 'smtp.gmail.com'
smtp_port = 587

您还可以指定 SMTP 服务器的用户名和密码。例如,要使用您的 Gmail 帐户发送电子邮件,您可以使用以下代码:

smtp_username = 'your_gmail_username'
smtp_password = 'your_gmail_password'

现在,您可以使用 SMTP 对象来发送电子邮件。要发送电子邮件,您需要使用 SMTP 对象的 sendmail() 方法。sendmail() 方法有三个参数:发件人地址、收件人地址和电子邮件正文。例如,要发送一封电子邮件到您的朋友,您可以使用以下代码:

sender_address = 'your_gmail_username@gmail.com'
receiver_address = 'your_friend@gmail.com'
email_body = 'Hello, friend!'

smtp_server.sendmail(sender_address, receiver_address, email_body)

发送完电子邮件后,您需要断开与 SMTP 服务器的连接。要断开连接,您可以使用 SMTP 对象的 quit() 方法。例如:

smtp_server.quit()

三、代码示例

以下是使用 Python 通过 SMTP 发送电子邮件的完整代码示例:

import smtplib

# 设置 SMTP 服务器地址和端口
smtp_server = 'smtp.gmail.com'
smtp_port = 587

# 设置 SMTP 服务器的用户名和密码
smtp_username = 'your_gmail_username'
smtp_password = 'your_gmail_password'

# 创建 SMTP 对象
smtp_object = smtplib.SMTP(smtp_server, smtp_port)

# 启动 TLS 加密
smtp_object.starttls()

# 登录 SMTP 服务器
smtp_object.login(smtp_username, smtp_password)

# 设置发件人地址、收件人地址和电子邮件正文
sender_address = 'your_gmail_username@gmail.com'
receiver_address = 'your_friend@gmail.com'
email_body = 'Hello, friend!'

# 发送电子邮件
smtp_object.sendmail(sender_address, receiver_address, email_body)

# 断开与 SMTP 服务器的连接
smtp_object.quit()

四、总结

通过这篇文章,您已经了解了如何使用 Python 通过 SMTP 发送电子邮件。现在,您可以使用 Python 来编写脚本,实现自动发送电子邮件的功能。