Ceci est une ancienne révision du document !
Table des matières
Passerelle email locale (relais SMTP)
Dernière mise à jour : août 2026
Relais SMTP local sur le serveur cahute (192.168.1.9) : Exim4 configuré en smarthost. Toutes les applications du serveur envoient leur courrier au relais local, qui l'authentifie et le relaie vers Infomaniak. Objectif : centraliser les identifiants SMTP à un seul endroit au lieu de les configurer (et les changer) dans chaque application.
Principe
- Exim4 écoute en local (
127.0.0.1:25) et relaie tout versmail.infomaniak.com:587(STARTTLS + authentification). - Les identifiants Infomaniak sont dans un seul fichier :
/etc/exim4/passwd.client. - Chaque application pointe vers le relais local sans authentification ni chiffrement (le relais s'en charge en amont vers Infomaniak).
- Changement de mot de passe Infomaniak → une seule ligne à modifier, plus aucune application à reconfigurer.
Application (Gitea, Nextcloud…) ──> Exim4 local (127.0.0.1:25) ──[TLS+AUTH]──> mail.infomaniak.com:587
Configuration Exim4
Paquet : exim4-daemon-light (MTA par défaut de Debian, déjà présent). Pas besoin de Postfix.
Réglages principaux
Configurés via dpkg-reconfigure exim4-config :
- Type : envoi par relais (smarthost) ; réception SMTP ou fetchmail
- IP d'écoute SMTP :
127.0.0.1 ; ::1 - Smarthost :
mail.infomaniak.com::587(double deux-points = syntaxe port Exim) - Domaines locaux : vide
- Machines à relayer : vide
- Config découpée en plusieurs fichiers : Oui (
dc_use_split_config=true)
Le mode découpé (split=true) est nécessaire : il permet à Exim de lire les authenticators dans /etc/exim4/conf.d/auth/. En mode non-découpé, les ajouts personnalisés y sont ignorés.
Identifiants (fichier unique)
Fichier : /etc/exim4/passwd.client — permissions 640 root:Debian-exim
Format : serveur:login:motdepasse
mail.infomaniak.com:beafrancois@beafrancois.fr:LE_MOT_DE_PASSE
Caractères spéciaux dans le mot de passe : les authenticators Debian par défaut (plain / login de 30_exim4-config_examples) gèrent les “:” présents dans le mot de passe via une extraction regex (le login est isolé sur le premier “:”, tout le reste = mot de passe). Donc :
- Mot de passe avec des
“:”→ OK, à coller tel quel, sans guillemets, sans échappement. - Seule contrainte : le login (champ 2) ne doit pas contenir de
“:”(une adresse email n'en a pas).
Appliquer un changement de config Exim
sudo update-exim4.conf # recompile la config sudo systemctl restart exim4 sudo systemctl is-active exim4 # doit renvoyer "active"
Changer le mot de passe Infomaniak
Une seule opération, aucune application à toucher :
- Éditer
/etc/exim4/passwd.client, remplacer le mot de passe sur la lignemail.infomaniak.com. sudo update-exim4.conf && sudo systemctl restart exim4- Tester (voir ci-dessous).
Test d'envoi
echo "Test relais - $(date)" | sudo exim4 -v -i -f beafrancois@beafrancois.fr beafrancois@beafrancois.fr
Séquence attendue dans la sortie -v :
AUTH PLAINenvoyé, réponse235(auth acceptée)MAIL FROM/RCPT TO/DATA→250250 Ok: queued as …(message accepté par Infomaniak)- Log :
A=plain CV=yes(authentification + certificat TLS OK)
Le -f définit l'expéditeur d'enveloppe : sans lui, l'envoi part avec MAIL FROM:<> (vide) et peut être refusé.
Configuration des applications
Principe commun : pointer vers le relais local, sans auth, sans TLS.
Gitea (bare-metal)
Section [mailer] de /etc/gitea/app.ini — mode sendmail (le plus simple, appelle Exim directement) :
[mailer] ENABLED = true PROTOCOL = sendmail FROM = beafrancois@beafrancois.fr SENDMAIL_PATH = /usr/sbin/sendmail
Supprimer les anciennes lignes : SMTP_ADDR, SMTP_PORT, SMTP_STARTTLS, USER, PASSWD.
Recharger : sudo systemctl restart gitea. Tester via Administration → Configuration → Mailer → Send Testing Email.
Nextcloud (bare-metal)
Administration → Paramètres de base → Serveur de messagerie :
- Mode d'envoi : SMTP
- Chiffrement : Aucun
- Authentification : désactivée
- Serveur :
127.0.0.1— Port :25
Diun et autres conteneurs Docker
⚠️ Cas particulier : depuis un conteneur, 127.0.0.1 désigne le conteneur, pas l'hôte. Il faut viser l'hôte via l'IP de la passerelle Docker (ou host.docker.internal selon la config réseau), et Exim doit accepter les connexions depuis le réseau Docker (pas seulement 127.0.0.1). À configurer au cas par cas — non traité à ce jour.
Note sur l'adresse expéditeur (From)
Infomaniak peut refuser d'expédier un message dont le From n'est pas une adresse autorisée sur le compte. La valeur validée est beafrancois@beafrancois.fr (l'adresse authentifiée). Pour utiliser un From différent par service (ex. git@beafrancois.fr), il faut que ce soit un alias autorisé côté Infomaniak, sinon l'envoi est rejeté.
Fichiers de référence
| Fichier | Rôle |
|---|---|
| /etc/exim4/update-exim4.conf.conf | Réglages principaux (dont dc_use_split_config=true) |
| /etc/exim4/passwd.client | Identifiants Infomaniak (fichier unique, 640 root:Debian-exim) |
| /etc/exim4/conf.d/auth/30_exim4-config_examples | Authenticators Debian (plain / login) utilisés |
| /var/lib/exim4/config.autogenerated | Config compilée (ne pas éditer à la main) |
Dépannage
530 Authentication required: Exim n'a pas envoyé d'AUTH. Vérifier quedc_use_split_config=trueet que la ligne existe danspasswd.client. Recompiler.- Mail gelé (
Frozen) : voir la file avecsudo mailq, détails avecsudo exim4 -Mvl <id>. Relancer un message après correction :sudo exim4 -M <id>. - Voir la file d'attente :
sudo mailq— vider un message :sudo exim4 -Mrm <id>. - Logs :
sudo tail -f /var/log/exim4/mainlog.
