承接 devzair/mail-logger-bundle 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

devzair/mail-logger-bundle

最新稳定版本:v2.0.1

Composer 安装命令:

composer require devzair/mail-logger-bundle

包简介

Symfony bundle to log all emails sent via Symfony Mailer

README 文档

README

Un bundle Symfony léger, modulaire et moderne pour logger automatiquement tous les emails envoyés via Symfony Mailer.

✨ Pourquoi utiliser ce bundle ?

Dans les projets Symfony, on envoie souvent des emails (confirmation d’inscription, notifications, support, etc.).
Mais en cas de bug ou de doute, il est difficile de savoir :

  • Quel email a été envoyé ?
  • À qui ?
  • Avec quel contenu ?
  • Avec quel résultat (succès / échec) ?

❌ Problèmes classiques sans ce bundle :

Situation Conséquence
Pas de trace des envois Impossibilité de diagnostiquer un problème de mail
Pas de logs centralisés Impossible de prouver un envoi ou de refaire un test
Erreurs silencieuses Les échecs SMTP passent inaperçus

✅ Ce que ce bundle vous apporte :

  • 📦 Une entité LoggedEmail persistée automatiquement
  • 📬 Une écoute des événements SentMessageEvent et FailedMessageEvent
  • 🧠 Un EmailLogger injectable et configurable
  • 🔍 Une commande CLI mail:log pour voir les derniers mails
  • 🛠 Une commande mail:test pour tester facilement le système de mail
  • 🔄 Configuration activable par paramètre mail_logger.enabled

🔧 Installation

Ajoutez le bundle à votre projet Symfony :

composer require devzair/mail-logger-bundle

composer require symfony/mailer symfony/mime


⚙️ Configuration

1. Déclarez le paramètre pour activer le logger :
# config/packages/parameters.yaml
parameters:
    mail_logger.enabled: true

2. Injectez ce paramètre dans le service :
# config/services.yaml
DevZair\MailLoggerBundle\Service\EmailLogger:
    arguments:
        $loggingEnabled: '%mail_logger.enabled%'


🧪 Commandes disponibles:

    🔍 Voir les 10 derniers emails envoyés
        php bin/console mail:log

    🧾 Affichage JSON (pour API, tests, exports)
        php bin/console mail:log --json

    🔢 Limiter le nombre de résultats
        php bin/console mail:log --limit=25

    🧪 Envoi d’un email de test
        php bin/console mail:test

    📦 Lister tous les paramètres du bundle
        php bin/console mail:config


🧠 Architecture technique

Élément                         | Rôle

LoggedEmail                     | Entité Doctrine pour stocker les emails
EmailLogger                     | Service principal injecté, gère la persistance
EmailLoggerSubscriber           | EventSubscriber qui écoute les envois de mails
MailLogCommand                  | Commande CLI pour afficher les logs
MailTestCommand                 | Commande CLI pour envoyer un mail test
MailLoggerBundleConfigCommand   | Commande CLI pour afficher tous les paramètres du bundle


🧰 Fonctionnement

    Symfony envoie un mail via MailerInterface

    Le bundle écoute les événements SentMessageEvent et FailedMessageEvent

    Le logger transforme les adresses (objet Address) en données JSON (name + email)

    L'entité est persistée automatiquement en base

    Les commandes permettent de consulter ou tester les envois


📌 Prérequis

    Symfony >= 6.3 / 7.x

    PHP >= 8.1

    symfony/mailer, symfony/mime

    Doctrine ORM

统计信息

  • 总下载量: 39
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-04-15

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固