使用set_date()函数在Python中设置发送电子邮件的日期
发布时间:2023-12-23 02:34:56
在Python中,可以使用smtplib库向指定的电子邮件地址发送邮件。要设置邮件的日期,可以使用email库中的相关函数和类。
首先,我们需要导入smtplib和email库:
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.utils import formatdate
接下来,可以定义一个set_date()函数来设置电子邮件的日期。该函数接受以下参数:收件人地址、发件人地址、发件人名称、主题、正文和日期。
def set_date(to_address, from_address, from_name, subject, body, date):
# 创建邮件对象
message = MIMEMultipart()
# 设置发件人
message['From'] = formataddr((from_name, from_address))
# 设置收件人
message['To'] = to_address
# 设置主题
message['Subject'] = subject
# 设置日期
message['Date'] = formatdate(localtime=True)
# 设置正文
message.attach(MIMEText(body, 'plain'))
# 发送邮件
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(from_address, 'password')
server.sendmail(from_address, to_address, message.as_string())
server.quit()
在这个例子中,我们使用Gmail作为邮件服务器,并且假设发件人已经提供了正确的发件人地址和密码。
下面是一个使用set_date()函数的例子:
to_address = 'recipient@example.com' from_address = 'sender@example.com' from_name = 'John Doe' subject = 'Hello' body = 'This is a test email.' date = '2021-01-01 10:00:00' set_date(to_address, from_address, from_name, subject, body, date)
在这个例子中,我们设置了收件人地址、发件人地址、发件人名称、主题、正文和日期。然后,调用set_date()函数来发送电子邮件。
注意,日期必须以'YYYY-MM-DD HH:MM:SS'的格式提供。
希望这个例子对你有帮助!
