用Python编写的邮件自动发送程序
发布时间:2023-12-04 18:11:48
编写一个邮件自动发送程序可以通过Python的smtplib模块实现。下面是一个示例代码,展示了如何使用Python发送邮件。
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
def send_email(subject, message, from_email, to_email, password):
# 创建一个多部分的邮件对象
msg = MIMEMultipart()
msg["From"] = from_email
msg["To"] = to_email
msg["Subject"] = subject
# 在邮件正文中添加消息内容
msg.attach(MIMEText(message, "plain"))
try:
# 创建一个SMTP客户端对象,并连接到SMTP服务器
server = smtplib.SMTP("smtp.gmail.com", 587)
server.starttls()
# 登录到SMTP服务器
server.login(from_email, password)
# 发送邮件
server.send_message(msg)
print("邮件发送成功")
except Exception as e:
print("邮件发送失败:", str(e))
finally:
# 关闭SMTP服务器连接
server.quit()
# 发送邮件的基本信息
subject = "Test Email"
message = "这是一封测试邮件"
from_email = "your_email@gmail.com"
to_email = "recipient_email@gmail.com"
password = "your_password"
# 调用发送邮件函数
send_email(subject, message, from_email, to_email, password)
在这个例子中,我们首先导入了smtplib模块和email库的MIMEText和MIMEMultipart类。然后,我们定义了一个send_email函数,该函数接收邮件主题、消息内容、发件人邮箱、收件人邮箱和发件人密码作为参数。
在send_email函数内部,我们创建了一个MIMEMultipart对象,并设置发件人、收件人和主题。然后,我们将消息内容以普通文本格式添加到邮件正文中。
接下来,我们通过smtplib模块创建了一个SMTP客户端对象并连接到SMTP服务器。我们使用starttls函数来加密邮件传输。
最后,我们登录到SMTP服务器,并通过服务器的send_message函数发送邮件。如果发送成功,我们打印出"邮件发送成功"的消息;如果发送失败,我们打印出失败的原因。无论发送成功或失败,都会关闭SMTP服务器连接。
你需要将示例代码中的from_email、to_email和password替换为你自己的实际信息。请注意,示例代码中使用的是Gmail的SMTP服务器,你可能需要根据你的邮件服务提供商调整服务器地址和端口号。
这个示例程序只是一个基本的邮件自动发送程序,你可以根据自己的需求进行修改和扩展。
