@@ -142,6 +142,21 @@ Envoi d'un email
142142}
143143```
144144
145+ #### GET ` /api/smtp-status `
146+ Vérification du statut du serveur SMTP
147+
148+ ** Réponse :**
149+ ``` json
150+ {
151+ "status" : true ,
152+ "message" : " SMTP server is reachable."
153+ }
154+ ```
155+
156+ ** États possibles :**
157+ - ` status: true ` : Le serveur SMTP est accessible et les identifiants sont valides
158+ - ` status: false ` : Le serveur SMTP n'est pas accessible ou les identifiants sont incorrects
159+
145160## 💡 Exemples d'utilisation
146161
147162### Envoi d'un email simple
@@ -244,6 +259,57 @@ sendEmail(
244259);
245260```
246261
262+ ### Vérification du statut SMTP
263+
264+ ``` bash
265+ # Vérifier si le serveur SMTP est accessible
266+ curl http://localhost:9876/api/smtp-status
267+ ```
268+
269+ ** Réponse en cas de succès :**
270+ ``` json
271+ {
272+ "status" : true ,
273+ "message" : " SMTP server is reachable."
274+ }
275+ ```
276+
277+ ** Réponse en cas d'erreur :**
278+ ``` json
279+ {
280+ "status" : false ,
281+ "message" : " SMTP server is not reachable."
282+ }
283+ ```
284+
285+ ### Intégration du test SMTP en Python
286+
287+ ``` python
288+ import requests
289+
290+ def check_smtp_status ():
291+ try :
292+ response = requests.get(" http://localhost:9876/api/smtp-status" )
293+ data = response.json()
294+
295+ if data[" status" ]:
296+ print (" ✅ Serveur SMTP accessible" )
297+ return True
298+ else :
299+ print (" ❌ Serveur SMTP non accessible:" , data[" message" ])
300+ return False
301+ except Exception as e:
302+ print (f " Erreur lors de la vérification : { e} " )
303+ return False
304+
305+ # Utilisation
306+ if check_smtp_status():
307+ # Procéder à l'envoi d'emails
308+ send_email(" test@example.com" , " Test" , " Message de test" )
309+ else :
310+ print (" Impossible d'envoyer des emails pour le moment" )
311+ ```
312+
247313## 🔧 Gestion des erreurs
248314
249315### Codes de statut HTTP
@@ -272,10 +338,52 @@ sendEmail(
272338}
273339```
274340
341+ ## 📊 Diagnostic et monitoring
342+
343+ ### Vérification de l'état du service
344+
345+ ``` bash
346+ # Vérifier que le service répond
347+ curl http://localhost:9876/
348+
349+ # Vérifier la documentation API
350+ curl http://localhost:9876/docs
351+
352+ # Tester la connectivité SMTP
353+ curl http://localhost:9876/api/smtp-status
354+ ```
355+
356+ ``` bash
357+ # Test d'envoi d'email (optionnel)
358+ echo " 3. Test d'envoi d'email de diagnostic..."
359+ curl -X POST " http://localhost:9876/api/send-email" \
360+ -H " Content-Type: application/json" \
361+ -d ' {
362+ "receiver_email": "admin@votre-domaine.com",
363+ "email_object": "Test de diagnostic - Mail Service",
364+ "message_text": "Ce message confirme que le service fonctionne correctement."
365+ }'
366+
367+ echo " === Fin du diagnostic ==="
368+ ```
369+
370+ ## 🚨 Sécurité et bonnes pratiques
371+
372+ ### Recommandations de sécurité
373+
374+ 1 . ** Utilisez des mots de passe d'application** pour Gmail (pas votre mot de passe principal)
375+ 2 . ** Limitez l'accès** au port 9876 dans votre pare-feu
376+ 3 . ** Utilisez HTTPS** en production avec un reverse proxy (nginx, traefik)
377+ 4 . ** Stockez les secrets** de manière sécurisée (Docker secrets, variables d'environnement chiffrées)
378+ 5 . ** Surveillez régulièrement** le statut SMTP avec l'endpoint ` /api/smtp-status `
379+
275380
276381---
277382
278383
279384** Développé avec ❤️ par Kalaga Serge**
280385
281- Pour plus d'informations, consultez la documentation API interactive à l'adresse ` http://localhost:9876/docs `
386+ <!-- Mes coordonnées Github -->
387+
388+ - [ Projet GitHub] ( https://github.com/serge-eric-kalaga/MailService )
389+ - [ Profil GitHub - serge-eric-kalaga] ( https://github.com/serge-eric-kalaga )
0 commit comments