欢迎访问宙启技术站
智能推送

Python中如何使用Client()类实现SMTP协议的邮件发送功能

发布时间:2023-12-18 11:44:19

在 Python 中,可以使用 smtplib 模块中的 SMTP 类实现 SMTP 协议的邮件发送功能。SMTP 客户端负责连接到邮件服务器并发送电子邮件。

以下是使用 SMTP Client 类实现邮件发送功能的步骤:

1. 导入必要的模块

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

2. 创建 SMTP 连接

   smtp = smtplib.SMTP()
   smtp.connect('smtp.example.com', 25)  # 邮件服务器地址和端口号
   

3. 登录邮件服务器

   smtp.login('your_email@example.com', 'your_password')  # 邮箱地址和密码
   

4. 创建邮件内容

   message = MIMEText('邮件正文', 'plain', 'utf-8')  # 创建纯文本邮件
   message['From'] = Header('发件人姓名', 'utf-8')
   message['To'] = Header('收件人姓名', 'utf-8')
   message['Subject'] = Header('邮件主题', 'utf-8')
   

5. 发送邮件

   smtp.sendmail('your_email@example.com', 'recipient@example.com', message.as_string())  # 发件人和收件人邮箱地址
   

6. 关闭 SMTP 连接

   smtp.quit()
   

以下是一个完整的使用例子:

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

smtp = smtplib.SMTP()
smtp.connect('smtp.example.com', 25)

smtp.login('your_email@example.com', 'your_password')

message = MIMEText('这是一封测试邮件', 'plain', 'utf-8')
message['From'] = Header('发件人姓名', 'utf-8')
message['To'] = Header('收件人姓名', 'utf-8')
message['Subject'] = Header('测试邮件', 'utf-8')

smtp.sendmail('your_email@example.com', 'recipient@example.com', message.as_string())

smtp.quit()

以上代码中,需要将 'smtp.example.com' 替换为实际的邮件服务器地址,'your_email@example.com' 替换为发件人的邮箱地址,'your_password' 替换为发件人的邮箱密码,以及 'recipient@example.com' 替换为收件人的邮箱地址。

使用该例子中的代码,可以连接到指定的邮件服务器并发送一封包含指定内容和主题的邮件。