【问题标题】:How to get email body using the Robot Framework?如何使用机器人框架获取电子邮件正文?
【发布时间】:2021-03-22 18:27:20
【问题描述】:

如何使用 Robot Framework 获取电子邮件正文?

我使用 ImapLibrary,但收到错误消息。

open mailbox  host=imap.gmail.com  user=v@j.com  password=PW
${LATEST} =  wait for email  sender=d@j.com
${body} =  get email body  ${LATEST}

我得到了最后一步的错误:

LookupError: 'quoted-printable' 不是文本编码;使用 codecs.decode() 处理任意编解码器

【问题讨论】:

  • 我不知道这是否是问题的一部分,但您可能不需要在 ${LATEST} 周围加上引号。
  • @BryanOakley 删除引号后出现LookupError: 'quoted-printable' is not a text encoding; use codecs.decode() to handle arbitrary codecs 错误。
  • 即使我遇到了同样的问题,这是由于 python 版本。使用 2.7 这工作正常
  • 我有 Python 3.7.0。我明白什么时候应该更新某些东西,但我不明白什么时候应该降级某些东西(临时情况除外)。

标签: email robotframework


【解决方案1】:

在 imaplibrary 的 init.py 中将 decode('quoted-printable') 替换为 decode('utf-8')

【讨论】:

  • 您给出了正确但原始的解决方案。我找到了满足我要求的库 - ImapLibrary2。
【解决方案2】:

您可以使用 Robot Framework Library ImapLibrary2 而不是 ImapLibrary,此问题已得到修复。

代码保持不变。但请记住,这会将电子邮件正文连同所有 html tags 一起返回给您。

这里是参考链接ImapLibrary

您可以在这里按照我的详细解决方案:Parse Email body in Robot Framework

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-25
    • 1970-01-01
    • 1970-01-01
    • 2020-07-04
    • 2015-02-12
    • 2014-10-03
    • 1970-01-01
    相关资源
    最近更新 更多