【问题标题】:How do I get plain text out of BlackBerry 10 emails?如何从 BlackBerry 10 电子邮件中获取纯文本?
【发布时间】:2013-12-09 04:05:48
【问题描述】:

BlackBerry 10 设备仅发送 HTML 电子邮件。

虽然这对于丢弃遗留内容(单独的参数)的运动来说“很棒”,但当您需要纯文本时会很烦人。它只是不可用。

如何从 BB10 设备发送的电子邮件中获取纯文本?

【问题讨论】:

    标签: python html-email blackberry-10


    【解决方案1】:

    使用 python 和 xpath,从 HTML 中提取文本:

    #!/usr/bin/python3
    import urllib.request
    import quopri
    import lxml.html
    
    # actual test fragments are here
    raw_url = 'https://gist.github.com/Supermathie/7866658/raw/80e4abd4226b916a54b224677af7fda881d0937f/sample+1'
    raw_url_no_sig = 'https://gist.github.com/Supermathie/7866658/raw/df354d6b8f3176c3d8bdb89b2961bb0ccc78520c/sample+2'
    
    def get_divs(url):
        email_body_raw = urllib.request.urlopen(url).read()
        email_body = quopri.decodestring(email_body_raw)
        email_xml = lxml.html.document_fromstring(email_body)
        email_divs = email_xml.xpath('//div[@id="_signaturePlaceholder"]/preceding-sibling::div')
        return email_divs
    
    print('\n'.join([str(node.text_content() or "") for node in get_divs(raw_url)]))
    print('\n'.join([str(node.text_content() or "") for node in get_divs(raw_url_no_sig)]))
    

    对于两个测试用例,打印:

    请记住,文章中的信息是通过不少于两个不完全讲技术的人过滤的。我想我可以把它翻译回来:

    «FBI 制作了一个针对 Mo 的定制恶意软件,旨在窥探他的活动。 Mo 在鱼叉式网络钓鱼攻击中通过电子邮件向 Mo 发送了一个链接,试图从 FBI 监控的服务器上下载并安装恶意软件。

    尝试失败;该软件已下载,但从未以使该软件能够将信息发送回 FBI 的方式执行。»

    没什么特别的。我想知道 Mo 是否有胆量将该软件提交给 Sophos 等进行恶意软件分析。 :)

    M.

    测试电子邮件

    没有签名

    【讨论】:

    • 其实,yes you can。我已经编写了一个 Python 应用程序并将其部署到 BB10 设备。事实上,BB10 设备上的大部分 UI 都是用 Python 编写的。无论如何,这个问题是关于从设备发送的电子邮件中提取文本。我只是碰巧使用 Python 来演示我的解决方案。
    猜你喜欢
    • 2017-09-21
    • 1970-01-01
    • 2015-12-11
    • 1970-01-01
    • 1970-01-01
    • 2012-01-03
    • 1970-01-01
    • 1970-01-01
    • 2015-09-19
    相关资源
    最近更新 更多