Автоматизация Thunderbird

С 2022 года Thunderbird пережил замечательное возрождение. После нескольких лет стагнации Фонд Mozilla вновь активно инвестирует в его развитие. Инициатива Supernova (Thunderbird 115+) принесла фундаментальные модернизации, такие как интеграция Rust для компонентов, критически важных с точки зрения производительности, модернизированный пользовательский интерфейс на основе веб-компонентов и нативная поддержка Exchange через API EWS/Microsoft Graph.


Для пользователей Thunderbird, управляющих большими почтовыми ящиками IMAP с большим количеством сообщений и глубокой иерархией папок, важны мгновенная доступность (офлайн-синхронизация) и эффективное хранилище. По умолчанию Thunderbird может испытывать задержки синхронизации, а формат mbox, как известно, склонен к раздуванию, поскольку удалённые письма часто только помечаются для удаления, но не удаляются физически.

Thunderbird предлагает мощные возможности управления электронной почтой на стороне клиента с помощью API JavaScript. Thunderbird основан на платформе Mozilla и использует XPCOM (кросс-платформенную объектную модель компонентов) для своей внутренней архитектуры. API JavaScript обеспечивает прямой доступ к почтовым сервисам через MailServices-Интерфейс. Эта архитектура принципиально отличается от веб-API и требует специальных знаний в предметной области.

Thunderbird сохраняет электронные письма локально в формате mbox, хотя удаленные сообщения изначально только помечаются. Без регулярного сжатия эти файлы постоянно растут, что приводит к снижению производительности и проблеме «призрачной электронной почты»: сообщения остаются в файловой структуре, но перестают быть видимыми. Сочетание синхронизации IMAP и обслуживания mbox может эффективно предотвратить проблемы с дисковым пространством и снижение производительности.

Следующий скрипт позволяет выполнять «чистку» всех настроенных учётных записей и папок каждые несколько минут. Для каждой папки он принудительно выполняет автономное обновление (загружает новые письма для IMAP) и запускает процесс сжатия (физическое удаление удалённых писем из файла mbox). Это гарантирует, что локальный экземпляр Thunderbird будет идеальным и оптимизированным отражением данных сервера.

76e66bbe83e88080a46f215744332e81

    Существует два основных метода запуска этого сценария. Первый — это консоль ошибок Thunderbird (Extras > Entwickler-Werkzeuge > Fehlerkonsole или Strg+Umschalt+J). Код можно вставить и выполнить прямо там. Альтернативно расширение можно использовать для постоянного использования. userChromeJS можно использовать, что позволяет загружать любые файлы JavaScript при запуске Thunderbird, обеспечивая тем самым максимальную гибкость для автоматизации.

    Некоторые настройки Thunderbird по умолчанию созданы для удобства и могут помешать нашему сценарию. Поэтому в конфигурации Thunderbird необходимо выполнить следующие настройки (about:config) можно настроить для оптимизации автоматизации и обеспечения плавной и агрессивной синхронизации и уплотнения. Приведенные ниже значения намеренно выбраны агрессивными и должны соответствовать соответствующему профилю нагрузки.

    76e66bbe83e88080a46f215744332e81

    Компания Microsoft объявила о прекращении поддержки Outlook Classic (Win32) в пользу нового Outlook для Windows. Outlook Classic будет поддерживаться «в некоторых» сценариях как минимум до 2029 года, но Microsoft рекомендует перейти на него гораздо раньше. В некоторых отчётах целевой датой массового перехода указан апрель 2026 года, при этом поддержка будет продолжена до 2029 года. Это решение вызвало серьёзные опасения в корпоративных средах.

    Критика включает веб-архитектуру с ограниченной автономной функциональностью, отсутствие поддержки надстроек COM, потерю поддержки файлов PST, ограниченную функциональность макросов VBA, которая устраняет устаревшую автоматизацию, снижение производительности при работе с большими почтовыми ящиками и проблемы защиты данных из-за обязательной облачной синхронизации. Такое развитие событий делает оценку альтернатив стратегической необходимостью — Thunderbird определенно стоит посмотреть.

    Назад