好的,在我试图做的事情中有一些混乱,所以我重新做了一次。我要写一个脚本来运行我的收件箱,将给我的发件人地址,主题和网址中的电子邮件正文。我遇到的问题是,脚本的URL解析是从电子邮件中拉出所有的URL,而不仅仅是从正文中拉出。下面是一个例子
收件人: Tom@mail.com
来自: Joe@test.com
主题:确认您的测试分数
请转到以下URL以确认您的考试成绩。WWW.test.com/confirmation再次感谢您的意见。
已签名
Joe ( Joes签名的一部分有一个图像)图像的URL是http://www.test.com/wp-content/uploads/_client_image/66-dcfc0fc8.png
我希望我的输出是
来自: Joe@test.com
主题:确认你的测试分数
URL: WWW.test.com/confirmation
我得到的是这个
来自: Joe@test.com
主题: Confirem你的考试分数
网址: WWW.test.com/confirmation,http://www.test.com/wp-content/uploads/_client_image/66-dcfc0fc8.png
这是我的脚本
import re
import mailbox
import urlparse
mbx=mailbox.mbox("Mail Box Path")
url_pattern = re.compile('''["']http://[^+]*?['"]''')
for k, m in mbx.iteritems():
print "From %s\n" % m['from']
print "Subject %s\n" % m['subject']
print "URL %s\n" % url_pattern.findall(m.as_string())发布于 2012-08-15 05:02:29
签名就是电子邮件的正文,所以你不能真的把它们分开。
如果你确定电子邮件中只有一个你关心的链接,你可以尝试只查看你匹配的第一个URL -但没有一个(可靠的)方法来确保你只与电子邮件正文交互,而不是与签名交互。
Someone even wrote a paper on this -这是非常困难的,特别是当你不能控制你正在处理的电子邮件的格式时。
https://stackoverflow.com/questions/11960563
复制相似问题