Mule ESB: получение сообщений электронной почты из Gmail с использованием коннектора IMAP - PullRequest
4 голосов
/ 12 января 2012

Я новичок в Mule, и я пытаюсь создать конфигурацию Mule, которая извлекает отправленные электронные письма из учетной записи GMail через imap и помещает их в скрипт php, который обрабатывает и сохраняет их в созданной мной пользовательской CRM. Для начала я просто пытаюсь получить входящие электронные письма в текстовые файлы, и я планирую работать оттуда.

По мере поступления новых сообщений в почтовый ящик, Мул должен собирать новые сообщения и автоматически обрабатывать их.

Конфигурация 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? Пожалуйста, помогите?!

Ответы [ 5 ]

1 голос
/ 21 августа 2014

просто вставьте *, и вы не увидите ошибку и все равно будете работать нормально.

    <imaps:tls-client path="*" storePassword="*"/>
    <imaps:tls-trust-store path="*" storePassword="*"/>
1 голос
/ 14 января 2012

Просто создайте соединитель следующим образом:

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

И это должно сработать.Кроме того, я бы удалил "@gmail" из определения пользователя, так как в этом нет необходимости.

Пока!

Немецкий

0 голосов
/ 24 января 2016

Настройки IMAP

Используйте пароль приложения https://security.google.com/settings/security/apppasswords и, наконец, используйте правильный путь для сохранения почты.

0 голосов
/ 21 марта 2014

Только не удаленные и непрочитанные сообщения отправляются как сообщения (RetrieveMessageReceiver.java:148 и 149)

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

Если папка большая, потребуется некоторое время (возможно, даже часы), чтобы добраться до точки обработки непрочитанных сообщений.

0 голосов
/ 06 декабря 2013

Вы должны изменить imap:connector и imap:inbound-endpoint на imaps:connector и imaps:inbound-endpoint.

У меня все работает нормально. У меня тоже самое и теперь исправлено с этим небольшим изменением.

...