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

Python中如何使用smtplib发送电子邮件

发布时间:2024-01-16 04:06:13

在Python中可以使用smtplib库来发送电子邮件。smtplib是Python的内置库,用于通过SMTP协议发送邮件。以下是Python中使用smtplib发送电子邮件的步骤和一个示例:

1. 首先,导入smtplib和email库:

import smtplib
from email.mime.text import MIMEText

2. 设置发送方和接收方的电子邮件地址。创建一个包含发送和接收方电子邮件地址的字典:

email_addresses = {
    'sender': 'sender@example.com',
    'receiver': 'receiver@example.com'
}

3. 创建一个MIMEText对象,该对象包含要发送的邮件内容:

message = MIMEText("这是一封测试邮件。", "plain")

4. 设置主题和发件人,将其添加到MIMEText对象的'From'和'Subject'标头中:

message['Subject'] = "Test Email"
message['From'] = email_addresses['sender']

5. 使用smtplib库创建一个SMTP对象,连接到SMTP服务器:

smtp_server = smtplib.SMTP('smtp.example.com', 587)
smtp_server.starttls()
smtp_server.login('username', 'password')

6. 发送电子邮件,使用SMTP对象的sendmail方法,传递发送方和接收方的地址以及要发送的邮件内容:

smtp_server.sendmail(email_addresses['sender'], email_addresses['receiver'], message.as_string())

7. 最后,关闭SMTP服务器连接:

smtp_server.quit()

完整的发送电子邮件的示例代码如下:

import smtplib
from email.mime.text import MIMEText

email_addresses = {
    'sender': 'sender@example.com',
    'receiver': 'receiver@example.com'
}

message = MIMEText("这是一封测试邮件。", "plain")
message['Subject'] = "Test Email"
message['From'] = email_addresses['sender']

smtp_server = smtplib.SMTP('smtp.example.com', 587)
smtp_server.starttls()
smtp_server.login('username', 'password')
smtp_server.sendmail(email_addresses['sender'], email_addresses['receiver'], message.as_string())
smtp_server.quit()

运行这段代码将会向指定的接收方发送一封测试邮件。你需要将'smtp.example.com'、'username'和'password'更改为适合你的SMTP服务器的值。

需要注意的是,某些SMTP服务器可能需要进行额外的身份验证或安全设置,例如授权码、SSL或TLS连接等。在使用实际的SMTP服务器发送电子邮件时,请注意检查所用的SMTP服务器的文档或联系服务器管理员以获取更多的详细信息。