Как использовать Delphi для получения текста сообщения электронной почты от Thunderbird - PullRequest
5 голосов
/ 09 июня 2009

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

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

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

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

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

Ответы [ 2 ]

5 голосов
/ 09 июня 2009

Проверьте эту ссылку out.

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

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

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

3 голосов
/ 09 июня 2009

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...