Annexes:ConfigurationPostfix : Différence entre versions

De WikiFr_dbSQWare
Aller à : navigation, rechercher
m (Installation de Postfix)
m (Modification d'une configuration existante)
Ligne 56 : Ligne 56 :
  
 
==Modification d'une configuration existante==
 
==Modification d'une configuration existante==
Les modifications et manipulations présentées dans cette section sont à faire avec l'utilisateur root.
+
Les modifications et manipulations présentées dans cette section sont à faire avec l'utilisateur root.<br>
 +
<br>
 +
On partira du principe que le service Postfix est fonctionnel et que l'envoie de mail fonctionne, ou fonctionnait.
 +
 
 
===Vérification de la configuration actuelle===
 
===Vérification de la configuration actuelle===
 
Pour vérifier quel est le relayhost configuré sur le serveur :
 
Pour vérifier quel est le relayhost configuré sur le serveur :

Version du 3 mars 2025 à 09:41

Page dédiée à la configuration de POSTFIX pour l'envoie des mails de dbSQWare.

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 :

Installation de Postfix

Work In Progress (normalement c'est déjà installé)

Information.png
Information:
Si vous avez bien suivi les procédures proposées sur notre wiki ou si vous avez importé notre OVF l'installation est déjà faite sur la VM dbSQWare.

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

Les modifications et manipulations présentées dans cette section sont à faire avec l'utilisateur root.

On partira du principe que le service Postfix est fonctionnel et que l'envoie de mail fonctionne, ou fonctionnait.

Vérification de la configuration actuelle

Pour vérifier quel est le relayhost configuré sur le serveur :

cat /etc/postfix/main.cf | grep relayhost
# The relayhost parameter specifies the default host to send mail to
# no relayhost is given, mail is routed directly to the destination.
#relayhost = $mydomain
#relayhost = [gateway.my.domain]
#relayhost = [mailserver.isp.tld]
#relayhost = uucphost
#relayhost = [an.ip.add.ress]
relayhost = [fqdn.yourhost.tld]:587

Pour vérifier la configuration sasl sur le serveur :

cat /etc/postfix/main.cf | grep smtp_sasl
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous

Pour vérifier les restrictions sur l'envoi vers et depuis le serveur :

cat /etc/postfix/main.cf | grep smtpd_sender_restrictions -A3
smtpd_sender_restrictions =
   permit_mynetworks
   permit_sasl_authenticated
   reject_unknown_reverse_client_hostname

Pour vérifier si la configuration de l'authentification sur le serveur :

ll /etc/postfix/* | grep passwd
-rw-r--r-- 1 root     root    54 Nov 19 09:51 /etc/postfix/sasl_passwd
-rw-r--r-- 1 root     root 12288 Nov 19 09:52 /etc/postfix/sasl_passwd.db

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

Selon la configuration de votre serveur vous devrez peut-être installer un paquet avec la commande mail (ou équivalent : email, s-nail, mailx, ...)

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