Annexes:ConfigurationPostfix : Différence entre versions
m (→Logs en tant réel) |
m (→Avec les scripts dbSQWare) |
||
Ligne 120 : | Ligne 120 : | ||
SHELL=/bin/bash | SHELL=/bin/bash | ||
− | + | ||
− | + | [..résultats omis..] | |
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
_=/usr/bin/env | _=/usr/bin/env | ||
Version du 25 février 2025 à 14:48
Page dédiée à la configuration de POSTFIX pour l'envoie des mails de dbSQWare.
Sommaire
Généralités
Limites de cette section
Cette procédure présente des scénarii d'envoie de mail par et depuis la machine dbSQWare.
Nous partons du principe que vous avez soit installé l'OVF que nous fournissons soit suivi la procédure d'installation du socle.
Cela permet d'être certains que l'ensemble des paquets nécessaires sont installés.
Si vous avez des habitudes de travail, de configuration, ou d'autres outils dans vos process n'hésitez pas à les appliquer et, ou les utiliser.
Logique technique
La mise en œuvre que nous vous proposons est la suivante :
- La machine hébergeant dbSQWare possède un service Postfix se connectant à un relais SMTP avec un compte authentifié, suivre Relais STMP externe authentifié
- Les machines de base de données possède un service Postfix se connectant à la machine hébergeant dbSQWare comme serveur relais, suivre : Relais STMP interne dbSQWare.
Variantes :
- Si vous utilisez pour tous vos services un relais en interne, configurez la VM dbSQWare et les hôtes SGBD en suivant : Relais STMP interne
Rappel guide de lecture
Le plus souvent on essaye de vous dire qui lance la commande et sur quel hôte :
- Si l'utilisateur dbsqware lance une action sur la machine dbsqware on notera From : dbsqware@sqwarebox
- Si c'est avec l'utilisateur root depuis n'importe quelle machine on notera From : root@anyserver
- Si on peut le faire avec n'importe quel utilisateur ayant les scripts dbsqware on notera From : onedbsqwareuser@anyserver
Par exemple pour redémarrer le serveur :
1 # From : dbsqware@sqwarebox
2 sudo shutdown -r now
3
4 # From : root@anyserver
5 shutdown -r now
Liens utiles
Voici l'ensemble des sites de références pour suivre l'état de votre service de messagerie :
- MXToolBox : https://mxtoolbox.com/
- SpfToolBox : https://spftoolbox.com/
- SPAMHaus project : https://www.spamhaus.org/
Installation de Postfix
Mise en service Postfix
WIP
Relais STMP externe authentifié
Relais STMP externe
Relais STMP interne dbSQWare
Relais STMP interne
WIP
Modification d'une configuration existante
Changements sur le relais SMTP
WIP
Changement de compte
WIP
Changement de mot de passe
WIP
Actions de maintenance
Envoyer un mail de test
Avec les scripts dbSQWare
dbSQWare envoi les mails aux adresses que vous avez paramétrer avec la variable gvsqw_GlobalMail, pour vérifier :
echo $gvsqw_GlobalMail
Pour tester l'envoie de mail via nos scripts, sur tous les serveurs avec nos scripts dans tools vous avez le script sqw<moteur>_TestSendmail.ksh
# From onedbsqwareuser@anyserver dbsqware@srvdbsqware:/home/dbsqware (SQWareCentral) $ # too total 60 drwxr-x--- 2 dbsqware dba 4096 Feb 23 14:51 . drwxr-x--- 16 dbsqware dba 4096 Feb 23 14:51 .. -rwxr-x--- 1 dbsqware dba 3052 Feb 23 14:51 sqwctl_BackupCustom.ksh -rwxr-x--- 1 dbsqware dba 1784 Feb 23 14:51 sqwctl_DebugFailAsyncFiles.ksh -rwxr-x--- 1 dbsqware dba 17427 Feb 23 14:51 sqwctl_ExportDataCapacity.ksh -rwxr-x--- 1 dbsqware dba 13038 Feb 23 14:51 sqwctl_ExportDataDemo.ksh lrwxrwxrwx 1 dbsqware dba 40 Jan 2 2022 sqwctl_TestMySQL.ksh -> ../../generic/tools/sqwgen_TestMySQL.ksh lrwxrwxrwx 1 dbsqware dba 43 Jan 2 2022 sqwctl_TestSendmail.ksh -> ../../generic/tools/sqwgen_TestSendmail.ksh -rwxr-x--- 1 dbsqware dba 6974 Feb 23 14:51 sqwctl_UpdateDemo.ksh dbsqware@srvdbsqware:/home/dbsqware/dbSQWare/SQWareCentral/tools (SQWareCentral) $ # ./sqwctl_TestSendmail.ksh Sourcing sqwctl_Global.lib v2025.01 SQWareCentral (dbSQWare) ... eval global vars: gvsqw_RsyncDefaultUser="$gvsqw_UserExec@RsyncHost" => gvsqw_RsyncDefaultUser=dbsqware@RsyncHost Log generated in /home/dbsqware/admin/SQWareCentral/logs/TestSendmail/TestSendmail_20250225_143050_485199.log on srvdbsqware ... Run check config dbSQWare and sendmail host=srvdbsqware : 2025-02-25 14:30:50 __________________________________________________________________ Program informations SqwVersion=2025.01 / 2025.01 Copyright 2007-2025, dbSQWare (www.dbsqware.com) Linux srvdbsqware 5.14.0-503.19.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 19 12:55:03 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux gvsqw_GenPath=/home/dbsqware/dbSQWare/SQWareCentral/tools Path=/home/dbsqware/dbSQWare/SQWareCentral/tools ./sqwctl_TestSendmail.ksh dbsqware@srvdbsqware sqwctl_TestSend,dbsqware ./sqwctl_TestSendmail.ksh `-pstree -aul 485199 __________________________________________________________________ SHELL=/bin/bash [..résultats omis..] _=/usr/bin/env Summary of returns: END_TRT Code: 0 check config dbSQWare and sendmail host=srvdbsqware --> 2025-02-25 14:30:50 Job check config dbSQWare and sendmail host=srvdbsqware proceeded successfully Sending mail html by sendmail at <$gvsqw_GlobalMail> Begining : 2025-02-25 14:30:50 End : 2025-02-25 14:30:50 Duration : 00:00:00
Avec une commande autonome
1 # From anyuser@anyserver
2
3 echo "Test email by `whoami` the `date`" | mail -s "Test from `hostname`" nom.prenom@domain.tld
Lister l'état du service
Lors vous vérifié le statu du service Postfix, systemctl affiche également la fin de la log en cours.
1 dbsqware@srvdbsqware04:/home/dbsqware (SQWareCentral) $
2 #
3 systemctl status postfix
4 ● postfix.service - Postfix Mail Transport Agent
5 Loaded: loaded (/usr/lib/systemd/system/postfix.service; enabled; preset: disabled)
6 Active: active (running) since Thu 2025-01-30 08:58:29 CET; 1h 43min ago
7 Process: 1217216 ExecStartPre=/usr/sbin/restorecon -R /var/spool/postfix/pid (code=exited, status=0/SUCCESS)
8 Process: 1217217 ExecStartPre=/usr/libexec/postfix/aliasesdb (code=exited, status=0/SUCCESS)
9 Process: 1217219 ExecStartPre=/usr/libexec/postfix/chroot-update (code=exited, status=0/SUCCESS)
10 Process: 1217220 ExecStart=/usr/sbin/postfix start (code=exited, status=0/SUCCESS)
11 Main PID: 1217289 (master)
12 Tasks: 4 (limit: 23156)
13 Memory: 4.8M
14 CPU: 1.105s
15 CGroup: /system.slice/postfix.service
16 ├─1217289 /usr/libexec/postfix/master -w
17 ├─1217291 qmgr -l -t unix -u
18 ├─1217418 tlsmgr -l -t unix -u
19 └─1291514 pickup -l -t unix -u
20
21 Jan 30 08:59:09 srvdbsqware04 postfix/pickup[1217290]: 2DD6110F: uid=1000 from=<dbsqware>
22 Jan 30 08:59:09 srvdbsqware04 postfix/cleanup[1217415]: 2DD6110F: message-id=<20250130075909.2DD6110F@srvdbsqware04.dbsqware.local>
23 Jan 30 08:59:09 srvdbsqware04 postfix/qmgr[1217291]: 2DD6110F: from=<sender@dbsqware.org>, size=415, nrcpt=1 (queue active)
24 Jan 30 08:59:09 srvdbsqware04 postfix/smtp[1217417]: 2DD6110F: to=<nom.prenom@dbsqware.com>, relay=smtp.pro-smtp.fr[217.171.20.70]:587, delay=0.55, delays=0.04/0.08/0.17/0.27, dsn=2.0.0, status=sent (25>
25 Jan 30 08:59:09 srvdbsqware04 postfix/qmgr[1217291]: 2DD6110F: removed
26 Jan 30 09:05:17 srvdbsqware04 postfix/pickup[1217290]: 28E9A10F: uid=1000 from=<dbsqware>
27 Jan 30 09:05:17 srvdbsqware04 postfix/cleanup[1218206]: 28E9A10F: message-id=<20250130080517.28E9A10F@srvdbsqware04.dbsqware.local>
28 Jan 30 09:05:17 srvdbsqware04 postfix/qmgr[1217291]: 28E9A10F: from=<sender@dbsqware.org>, size=409, nrcpt=1 (queue active)
29 Jan 30 09:05:17 srvdbsqware04 postfix/smtp[1218208]: 28E9A10F: to=<toarandom@here.fr>, relay=smtp.pro-smtp.fr[217.171.20.70]:587, delay=0.71, delays=0.06/0.06/0.28/0.32, dsn=2.0.0, status=sent (250 2.0.>
30 Jan 30 09:05:17 srvdbsqware04 postfix/qmgr[1217291]: 28E9A10F: removed
31 lines 1-27/27 (END)
Logs en tant réel
Les logs de Postfix sont situés dans /var/log/maillog
Lors de vos manipulations pour voir la log en temps réel dans une autre fenêtre :
1 # From : dbsqware@sqwarebox
2 sudo tail -f /var/log/maillog
3
4 # From : root@anyserver
5 tail -f /var/log/maillog
Gestion de la file d'attente
WIP
Purger toute les files d'attentes
1 # From : dbsqware@sqwarebox
2 sudo postsuper -d ALL
3
4 # From : root@anyserver
5 postsuper -d ALL
Purger la file d'attente defered postfix
Pendant que vous mettez en place la configuration si vous envoyez des mails de tests et qu'il ne partent pas vous allez remplir la file d'attente "defered".
Pensez à la vider sinon lorsque la configuration sera fonctionnelle tous ces mails de tests vont partir d'un coup.
1 # From : dbsqware@sqwarebox
2 sudo postsuper -d ALL defered
3
4 # From : root@anyserver
5 postsuper -d ALL defered
Recharger ou redémarrer Postfix
Recharger la configuration de Postfix.
1 # From : dbsqware@sqwarebox
2 sudo systemctl reload postfix
3
4 # From : root@anyserver
5 systemctl reload postfix
Redémarrer le service Postfix.
1 # From : dbsqware@sqwarebox
2 sudo systemctl restart postfix
3
4 # From : root@anyserver
5 systemctl restart postfix