【问题标题】:Reading emails through javaMail library with Mirth Connect使用 Mirth Connect 通过 javaMail 库阅读电子邮件
【发布时间】:2017-07-24 17:54:02
【问题描述】:

我的目标是通过 Mirth Connect 频道阅读电子邮件(并可能在收件箱中将它们标记为已读)。我发现了这个 Reading mail from open source Mirthconnect 关于这个问题的问题。奇怪的是,提问的人回答了这个问题。当我尝试实现他提供的代码时,他提供了我的规范,例如代替 gmail Outlook 收件箱(这里没有问题),频道显示错误:

64DETAILS:
    TypeError: Cannot find function getBodyPart in object <html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body dir="auto"><div>Hi!</div>...(here the email continues with div tags)

所以我清楚地得到了电子邮件数据,但 getBodyPart 破坏了它。我从中了解到的是,他的代码是针对特定类型的电子邮件的,我想我在此处的示例中收到了一封非 mime 电子邮件。

看来我要问的是:如何创建一个阅读器,将所有邮件翻译成纯文本,然后将其输出到记录器/其他输出中,以便我可以管理它?

管理意味着将特定标题的邮件传播到不同的渠道,并在它们来自的收件箱中将它们标记为已读。

我希望我的问题足够清楚,并遵守提问规则。

【问题讨论】:

  • 更新:引用问题中使用的原始代码似乎适用于gmail,实现阅读gmail收件箱中的第一封电子邮件。然而,这并不能解决问题,它还会一遍又一遍地阅读文件夹中的第一封电子邮件,只是给它一个新的唯一 ID。

标签: javascript email mirth


【解决方案1】:

我正在回答您更新的查询。该程序将重复阅读您提到的电子邮件,以避免在阅读后发生这种情况,您需要将电子邮件移动到其他文件夹,您也可以自定义您的程序以从中读取特定的电子邮件发件人或基于主题,以便它仅读取您的特定电子邮件,您可以将该电子邮件移动到您希望的文件夹。

【讨论】:

  • 只需将其添加到另一个文件夹(在 gmail: 标签中),它仍会保留在收件箱中。我想这需要进一步的标签管理,或者我将 gmail 设置为自动跳过收件箱并将收到的邮件移动到一个实验室,从那里 mirth 读取邮件,然后在阅读后移动它。
【解决方案2】:

我就是你在代码中提到的那个人。当我尝试从 GMAIL 获取邮件时,我也遇到了同样的问题。但是我关闭了安全应用程序,我在此处提供了 GMAIL 的链接。我想这样的东西也必须适用于 Outlook。但我已经尝试在我的 Outlook 中读取相同的代码,它工作正常,没有进行任何更改(不确定如何?)。

GMAIL 安全关闭 https://myaccount.google.com/lesssecureapps

这取决于您正在阅读的邮件类型。就我而言,我在邮件正文中获得了 HTML 设计的数据。该代码不是通用的。它应该读取邮件正文中的 HTML 数据。我不确定你的邮件怎么样?但是 mp.getBodyPart(0) 或 mp.getBodyPart(1) 应该提供一些输出。即使您在邮件中附加文件,mp.getBodyPart 也会读取附件。

【讨论】:

    猜你喜欢
    • 2019-02-23
    • 2015-07-30
    • 1970-01-01
    • 2012-12-28
    • 1970-01-01
    • 2016-02-20
    • 1970-01-01
    • 2022-08-23
    • 2014-04-27
    相关资源
    最近更新 更多