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

用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服务器,你可能需要根据你的邮件服务提供商调整服务器地址和端口号。

这个示例程序只是一个基本的邮件自动发送程序,你可以根据自己的需求进行修改和扩展。