首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从电子邮件收件箱提取URL

从电子邮件收件箱提取URL
EN

Stack Overflow用户
提问于 2012-08-15 04:53:28
回答 1查看 1.5K关注 0票数 2

好的,在我试图做的事情中有一些混乱,所以我重新做了一次。我要写一个脚本来运行我的收件箱,将给我的发件人地址,主题和网址中的电子邮件正文。我遇到的问题是,脚本的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

这是我的脚本

代码语言:javascript
运行
复制
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())
EN

回答 1

Stack Overflow用户

发布于 2012-08-15 05:02:29

签名就是电子邮件的正文,所以你不能真的把它们分开。

如果你确定电子邮件中只有一个你关心的链接,你可以尝试只查看你匹配的第一个URL -但没有一个(可靠的)方法来确保你只与电子邮件正文交互,而不是与签名交互。

Someone even wrote a paper on this -这是非常困难的,特别是当你不能控制你正在处理的电子邮件的格式时。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11960563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档