Чтение писем через библиотеку javaMail с Mirth Connect

Моя цель - читать электронные письма (и, возможно, отмечать их как прочитанные во входящих) через каналы Mirth Connect. Я нашел этот вопрос о чтении почты из 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 их нарушает. Из этого я понял, что его код был предназначен для определенного типа писем, и я думаю, что в приведенном здесь примере я получил письмо, не относящееся к пантомиме.

Итак, мне кажется, что я спрашиваю: как мне создать программу чтения, которая переводит всю почту в простой текст, а затем выводит ее в регистратор / другой вывод, чтобы я мог ею управлять?

Управление будет означать что-то вроде распространения писем с конкретными названиями по разным каналам и пометить их как прочитанные в почтовом ящике, откуда они пришли.

Надеюсь, я достаточно ясно сформулировал свой вопрос и соблюдаю правила задавать вопросы.


person Dubba    schedule 11.07.2017    source источник
comment
обновление: исходный код, используемый в цитируемом вопросе, похоже, работает с gmail, позволяя прочитать первое электронное письмо в почтовом ящике gmail. Однако это не решает проблему, также он продолжает читать первое электронное письмо в папке снова и снова, просто присваивая ему новый уникальный идентификатор.   -  person Dubba    schedule 11.07.2017


Ответы (2)


Я отвечаю на ваш обновленный запрос. Эта программа будет многократно читать письмо, поскольку вы упомянули, что это правильно, чтобы избежать этого после прочтения, вам нужно переместить электронное письмо в другую папку, а также вы можете настроить свою программу для чтения от определенного отправителя электронной почты или на основе темы, чтобы он читал только ваше конкретное электронное письмо, и вы могли переместить это электронное письмо в желаемую папку.

person Sriram M.S    schedule 24.07.2017
comment
Просто добавив его в другую папку (в gmail: label), он все равно останется во входящих. Я предполагаю, что для этого требуется дальнейшее управление ярлыками, или что я настроил Gmail автоматически пропускать входящие и перемещать входящие письма в лабораторию, откуда веселье читает почту, а затем перемещает ее после прочтения. - person Dubba; 31.07.2017

Я был тем, кого вы упомянули в коде. Когда я попытался получить почту из GMAIL, я столкнулся с той же проблемой. Но я проверил, что приложения безопасности ВЫКЛЮЧЕНЫ, я предоставил ссылку для GMAIL. Думаю, что-то подобное должно быть доступно и для Outlook. Но я пробовал прочитать тот же код, в моем видении он работал нормально без каких-либо изменений (не уверен, как?).

Для безопасности GMAIL ВЫКЛЮЧЕНА https://myaccount.google.com/lesssecureapps

Это зависит от типа письма, которое вы читаете. В моем случае я получал данные в формате HTML в теле письма. Этот код не был обобщенным. Предполагается, что в теле письма читаются HTML-данные. Не знаю, как у вас почта ?. Но mp.getBodyPart (0) или mp.getBodyPart (1) должны предоставить некоторый вывод. Даже если вы прикрепите файл к письму, mp.getBodyPart прочитает вложение.

person Vibin Guevara    schedule 24.07.2017