Как использовать Delphi для получения текста сообщения электронной почты из Thunderbird

StackOverflow https://stackoverflow.com/questions/969861

  •  13-09-2019
  •  | 
  •  

Вопрос

Что я сейчас делаю с Outlook:

Я получаю заказы на продукцию по электронной почте.Я выбираю одно или несколько электронных писем в Outlook (с одним заказом может быть связано несколько электронных писем), а затем переключаюсь на свою программу OrderManager с кодом Delphi и нажимаю «Импортировать».Он использует интерфейс автоматизации COM Outlook для чтения текста каждого сообщения, анализа и обработки каждого из них.

Вопрос в том, могу ли я сделать это вместо этого с помощью Thunderbird?Есть ли у Thunderbird COM-интерфейс?Должно быть, я гуглил неправильные ключевые слова, потому что пока ничего не нашел.

Кстати, у меня есть версия моего OrderManager, которая просто читает электронные письма непосредственно с моего почтового сервера с помощью Indy, но по нескольким причинам я хотел бы попытаться прочитать их из Firefox.

Любые предложения, ссылки на документацию или примеры кода будут с благодарностью приняты!

Это было полезно?

Решение

Проверь это связь вне.

Вы можете написать оболочку C или C++ вокруг XPCOM, а затем использовать эту оболочку в Delphi.

Также есть открытый исходный код Оболочка XPCOM, написанная на Delphi.Возможно, вы тоже захотите это проверить.Спасибо Стейн за то, что указал на это.

Надеюсь, поможет.

Другие советы

Вы также можете самостоятельно проанализировать файлы почтового ящика Thunderbird.

  • От %APPDATA%\Thunderbird\profiles.ini, прочитайте, где находится папка профиля (если профилей больше одного, просмотрите разделы Profile0..Profileн для того, что имеет значение Default=1)
  • Каждая подпапка Mail и/или ImapMail подпапки папки профиля представляют учетную запись (Mail содержит учетные записи POP, ImapMail содержит учетные записи IMAP);
  • Просмотрите все файлы, имена которых не заканчиваются на .dat или .msf, и содержимое которого начинается с «От» (F, r, o, m и пробел).Это файлы почтового ящика.
  • Каждая строка, начинающаяся с 'From ' указывает на новое сообщение.Использовать X-Mozilla-Status заголовок чтобы выяснить, действительно ли сообщение все еще или оно помечено для удаления.(Вы можете использовать CDO.Message COM-объект для анализа сообщения, если хотите).

Вам следует выполнить рекурсию для каждой подпапки, оканчивающейся на «.sbd», поскольку она будет содержать подпапки этого почтового ящика (например, Inbox.sbd будут содержать почтовые папки в папке «Входящие»).

Однако будьте осторожны с проблемами блокировки файлов.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top