4

我是 Mule 的新手,我正在尝试创建一个 Mule 配置,该配置通过 imap 从 GMail 帐户中提取发送的电子邮件并将它们推送到一个 php 脚本,该脚本处理并将它们存储在我构建的自定义 CRM 中。对于初学者,我只是想将收件箱电子邮件转储到文本文件中,我计划从那里开始工作。

当邮箱收到新消息时,Mule 会自动接收新消息并进行处理。

到目前为止,Mule 配置看起来像这样:

<imaps:connector name="IMAP" mailboxFolder="INBOX" validateConnections="false" doc:name="IMAP" />
<flow name="flows1Flow1" doc:name="flows1Flow1">
    <imaps:inbound-endpoint host="imap.gmail.com" port="993" user="[[username]]%40gmail.com" password="[[password]]" connector-ref="IMAP" doc:name="IMAP"/>
   <file:outbound-endpoint path="D:\mailflow" outputPattern="msg_#[function:date].txt" doc:name="File"/>
</flow>

程序运行并到达这一点:

    INFO  2012-01-12 13:51:06,606 [main] org.mule.DefaultMuleContext: 
    **********************************************************************
    * Application: mailflow                                     *
    * OS encoding: Cp1252, Mule encoding: UTF-8                          *
    *                                                                    *
    * Agents Running:                                                    *
    *   JMX Agent                                                        *
    **********************************************************************
    INFO  2012-01-12 13:51:06,606 [main] org.mule.module.launcher.DeploymentService: 
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    + Started app 'mailflow'                          +
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

然后就无限期地坐在那里,什么都不做?!

有文档建议因为我使用的是 IMAPS,所以我需要将 TLS 客户端和 TLS 密钥库添加到 imaps 连接器。我不确定这些是什么或如何使用它们,并且文档高度专业化且难以理解。我也不确定这首先是问题所在,因为应用程序在任何时候都不会崩溃。

有没有人成功地使用 GMail 创建 imap 流?请帮忙?!

4

5 回答 5

1

只需输入*,您就不会看到错误并且仍然可以正常工作。

    <imaps:tls-client path="*" storePassword="*"/>
    <imaps:tls-trust-store path="*" storePassword="*"/>
于 2014-08-21T05:28:35.353 回答
1

只需像这样创建连接器:

<imaps:connector name="IMAP">
   <imaps:tls-client/>
   <imaps:tls-trust-store/>
</imaps:connector>

这应该可以解决问题。另外,我会从用户的定义中删除“@gmail”,因为它不是必需的。

再见!

德语

于 2012-01-13T21:51:19.533 回答
0

您必须将imap:connectorand更改imap:inbound-endpointimaps:connectorand imaps:inbound-endpoint

它对我来说很好。我有同样的发行,现在这个小改动已经解决了。

于 2013-12-06T10:32:14.657 回答
0

只有未删除和未读的消息作为消息发送(RetrieveMessageReceiver.java:148 和 149)

if (!messages[i].getFlags().contains(Flags.Flag.DELETED)
     && !messages[i].getFlags().contains(Flags.Flag.SEEN))

如果文件夹很大,则需要一些时间(可能甚至几个小时)才能处理未读邮件。

于 2014-03-21T09:30:04.480 回答
0

IMAP 的设置

使用应用密码 https://security.google.com/settings/security/apppasswords 最后使用正确的路径保存邮件。

于 2016-01-23T23:18:21.197 回答