Пост

Mail Delivery Checker

Веб-приложение для проверки доставки писем по логам Postfix на удалённом почтовом сервере через SSH и генерации PDF-отчёта.

📬 Mail Delivery Checker

Веб-приложение для проверки доставки писем по логам Postfix на удалённом почтовом сервере через SSH и генерации PDF-отчёта.

⚙️ Основные возможности

  • Поиск писем в логах по отправителю и получателю
  • Проверка статуса доставки (sent, deferred, bounced и т.п.)
  • Генерация PDF-отчёта с логами и метаданными
  • Отображение результатов в удобном веб-интерфейсе

📂 Структура проекта

├── check_mail_delivery.php # Основной интерфейс для проверки почты ├── export_pdf.php # Генерация PDF-отчёта (использует mPDF) ├── vendor/ # Каталог Composer-зависимостей (создаётся автоматически) ├── composer.json # Конфигурация зависимостей PHP └── README.md # Этот файл

📦 Зависимости

Перед использованием убедитесь, что установлены следующие расширения и библиотеки:

🐘 PHP-модули:

  • php7.4-ssh2 – для подключения к почтовому серверу через SSH
    Установка:
    1
    
    sudo apt install php7.4-ssh2
    

    Если не работает – установить через PECL:

    1
    2
    
    sudo apt install php-pear php7.4-dev libssh2-1-dev
    sudo pecl install ssh2-1.3.1
    

Затем добавить в php.ini:

1
extension=ssh2.so

php-mbstring, php-gd, php7.4-xml – для работы mPDF

📚 Composer-зависимости:

mpdf/mpdf – библиотека для генерации PDF-документов

Установка:

1
composer require mpdf/mpdf

Если composer не установлен:

1
sudo apt install composer

📄 Файлы

check_mail_delivery.php Веб-форма для ввода адресов, подключение к логам по SSH, отображение статусов export_pdf.php Генерация PDF на основе данных из $_SESSION[‘pdf_report’] vendor/ Каталог Composer-зависимостей composer.json Список зависимостей, автозагрузка классов и т.п.

🔐 SSH-доступ

Для подключения к серверу требуется: Открытый и закрытый SSH-ключи (id_rsa, id_rsa.pub) Путь к логам, например /var/log/mail.log Пользователь с правами на чтение логов (например, admin)

🖥 Пример использования

1.Открой в браузере check_mail_delivery.php 2.Укажи e-mail отправителя и получателя 3.Нажми «Проверить» 4.При наличии совпадений появится кнопка «📄 Скачать PDF отчёт»

📌 Примечания

Работает только с логами Postfix Не анализирует тело писем — только лог событий Использует ssh2_exec() — убедись, что сервер доступен по SSH

Скачать

Скачать можно на моем GitLab Скачать

Клонировать с помощью SSH

1
git@git.technoadmin.ru:sysadmin/mail-delivery-checker.git

📝 Лицензия

MIT License

Copyright (c) 2025 Dmitry Aplekaev

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Авторский пост защищен лицензией CC BY 4.0 .