我已使用.forward文件在电子邮件服务器上配置了postfix,该文件保存了电子邮件副本并调用了python脚本。这些电子邮件以Maildir格式存储。
我想使用此python脚本向发件人发送回复,确认已收到该电子邮件。我想知道是否有任何方法可以打开/访问该电子邮件,获取标题信息和发件人地址并发回电子邮件。
我查看了几个python的Maildir函数示例,但它们主要添加/删除电子邮件。如何打开Maildir / new收到的最新电子邮件并获取所需信息?
提前致谢。对这个愚蠢的问题道歉,但我是Python的新手。
编辑:
md = mailbox.Maildir('/home/abcd/Maildir')
message = md.iterkeys().next()
#print message
#for msg in md:
# subject = msg.get('Subject',"")
# print subject
print message
sender = message.get('From',"")
print sender
当我执行此操作时,我确实收到了发件人姓名..但它是最早到达Maildir / new文件夹的电子邮件而不是最新邮件。
另外,如果我使用get_date函数,如果两个(或更多)电子邮件在同一天到达会怎么样?
答案 0 :(得分:0)
一些提示:
初学者帮助:你也应该自己做一点点。
你应该熟悉Python文档 - 我同意,找到合适的软件包以及如何使用它们并不容易,但你可以直接在Python shell中试用它们。
好的,这是另一个代码片段:
newest = None
for message in md.itervalues():
if newest == None or message.get_date() > newest.get_date():
newest = message
# now newest should contain the newest message
没有看到你的上一个问题:get_date不仅包含日期,还包含时间,因为它给出了自1970年(通常)1970年以来的秒数。