Files
notes-techniques/scripts/server-mail/add_domain.sh
2025-03-09 13:00:26 +01:00

54 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
# Définition des variables
MAILDIR="/var/mail/vhosts"
POSTFIX_CONFIG="/etc/postfix/virtual_domains"
USER_VMAIL="vmail"
GROUP_VMAIL="vmail"
# Vérifier si le script est exécuté en root
if [[ $EUID -ne 0 ]]; then
echo "❌ Ce script doit être exécuté en tant que root."
exit 1
fi
# Vérifier si un domaine a été passé en paramètre
if [[ -z "$1" ]]; then
echo "Usage: $0 <domaine>"
exit 1
fi
DOMAIN=$1
# Vérifier si le domaine est déjà enregistré
if grep -q "^$DOMAIN$" "$POSTFIX_CONFIG"; then
echo "⚠️ Le domaine $DOMAIN est déjà configuré dans Postfix."
exit 1
fi
echo "🔹 Ajout du domaine : $DOMAIN"
echo "$DOMAIN" >> "$POSTFIX_CONFIG"
# Création du répertoire pour le domaine
DOMAIN_DIR="$MAILDIR/$DOMAIN"
if [[ ! -d "$DOMAIN_DIR" ]]; then
echo "📁 Création du dossier mail pour $DOMAIN"
mkdir -p "$DOMAIN_DIR"
chown -R "$USER_VMAIL:$GROUP_VMAIL" "$DOMAIN_DIR"
chmod -R 770 "$DOMAIN_DIR"
else
echo "⚠️ Le dossier $DOMAIN_DIR existe déjà."
fi
# Recharger Postfix pour appliquer les changements
echo "🔄 Rechargement de Postfix..."
systemctl reload postfix
# Vérification de la bonne prise en compte
if systemctl is-active --quiet postfix; then
echo "✅ Domaine $DOMAIN ajouté avec succès et Postfix rechargé 🎉"
else
echo "❌ Erreur : Postfix ne fonctionne pas correctement après la mise à jour."
exit 1
fi