在python2.6中解析电子邮件中的datetime

2024-04-19 10:41:21 发布

您现在位置:Python中文网/ 问答频道 /正文

你好,我在用Python2.6解析电子邮件中的日期时遇到问题 代码如下:

    typ_sent, data_sent = sentbox.fetch(num_sent, '(RFC822)')
    mail_sent = email.message_from_string(data_sent[0][1])
    subject_sent = unicode(email.header.decode_header(mail_sent['Subject'])[0])
    from_sent = unicode(email.header.decode_header(mail_sent['From'])[0])
    datetime_sent = email.utils.mktime_tz(email.utils.parsedate_tz((mail_sent["Date"])))
    datetime_sent = datetime.datetime.fromtimestamp(datetime_sent)

尝试从datetime对象的邮件中获取日期时间时出错。这是错误消息。在

^{pr2}$

我需要将datetime对象解析为有效的email日期格式。在

编辑: 在我的脚本中,我需要比较来自已发送邮件和收件箱文件夹的电子邮件。 我可以从收件箱电子邮件中读取日期(我在电子邮件.message()对象) 但是我无法从使用smtplib的smtplib从我的SMTP发送的电子邮件中读取日期时间。在

我修改了一下代码,看看会发生什么: 代码:

datetime_sent = unicode(mail_sent["Date"])
print("Datetime sent =" + datetime_sent)

提示:

Datetime sent =None

我会看看如何在发送的电子邮件中实现日期。我好像有问题,因为收件箱里的邮件没有这个问题。在

编辑: 好吧,我找到问题了。 我用smtplib从服务器发送电子邮件到远程服务器。 当远程服务器从我的服务器接收到某个地址的邮件时,它会将其重定向回原始地址。 我的脚本无法从发送的电子邮件中读取日期时间。 那么我需要使用什么格式电子邮件:parsedate_tz()上班?在


Tags: 对象代码服务器datetime电子邮件email时间unicode
1条回答
网友
1楼 · 发布于 2024-04-19 10:41:21

好吧, 所以我检查了我的解析函数。 当我使用我的smtp服务器从Thunderbird发送邮件时,它就起作用了。 我可以得到我的日期时间对象。 当我用python发送邮件时,我的粉丝们都很惊讶。在

相关问题 更多 >