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

Python中如何在MIMEText中添加时间戳到电子邮件的主体

发布时间:2024-01-01 06:55:40

在Python中,可以使用email和smtplib模块来发送包含时间戳的电子邮件。以下是一个示例,展示了如何使用MIMEText添加时间戳到电子邮件的主体。

首先,我们需要导入所需的模块:

import smtplib
from email.mime.text import MIMEText
from email.utils import formatdate

然后,我们可以定义函数来发送带有时间戳的电子邮件:

def send_email(sender, receiver, subject, body):
    msg = MIMEText(body)  # 创建MIMEText对象,将body作为邮件正文
    msg['Subject'] = subject  # 设置邮件的主题
    msg['From'] = sender  # 设置发件人
    msg['To'] = receiver  # 设置收件人
    msg['Date'] = formatdate(localtime=True)  # 设置邮件发送时间为当前时间

    try:
        smtp = smtplib.SMTP('smtp.example.com')  # 创建一个SMTP对象
        smtp.sendmail(sender, receiver, msg.as_string())  # 发送邮件
        smtp.quit()  # 关闭SMTP连接
        print("Email sent successfully!")
    except Exception as e:
        print("Failed to send email. Error message:", str(e))

在这个例子中,我们定义了一个名为send_email的函数,它接受发送者、接收者、主题和内容作为参数。函数内部首先创建一个MIMEText对象,并将内容作为邮件正文。然后,设置主题、发件人和收件人,并使用formatdate函数将当前时间作为邮件发送时间。接下来,我们创建一个SMTP对象,将发件人、收件人和消息转换为字符串并发送邮件。最后,关闭SMTP连接。

你可以将以上代码放入你的脚本中,并调用send_email函数来发送带有时间戳的电子邮件。以下是一个示例调用:

sender = "sender@example.com"
receiver = "receiver@example.com"
subject = "Hello!"
body = "This is the body of the email."

send_email(sender, receiver, subject, body)

以上示例将发送一封包含时间戳的电子邮件,并输出"Email sent successfully!"。如果发送邮件失败,则会输出相应的错误信息。

希望以上示例能够帮助你在Python中添加时间戳到电子邮件的主体,并成功发送邮件。