6 votes

Démarrage automatique de Postfix sur Sierra pour le relais smtp

Postfix fonctionne parfaitement lorsque je le lance manuellement. Je peux le relayer à partir d'autres hôtes sur mon réseau, y accéder par telnet sur le port 25, etc.

Comment faire pour qu'il démarre automatiquement et qu'il écoute toujours sur le port 25 ?

Je comprends qu'il démarre toutes les minutes environ et envoie ce qui a été écrit manuellement dans la file d'attente (comme avec la commande mail) mais je veux qu'il écoute les connexions sur le port 25 (ce qu'il fait si je le démarre manuellement).

J'ai trouvé un tas de choses en ligne mais aucune ne fonctionne (elles semblent s'appliquer à des versions antérieures d'OS X).

3voto

klanomath Points 63400

Pour que cela fonctionne sur Sierra, vous devez modifier légèrement le démon de lancement existant :

  • Désactiver SIP

  • Modifier /System/Library/LaunchDaemons/com.apple.postfix.master.plist :

    sudo nano /System/Library/LaunchDaemons/com.apple.postfix.master.plist

    supprimer les lignes :

    <string>-e</string>
    <string>60</string>

    ajouter les lignes :

    <key>KeepAlive</key>
    <true/>

    sauvegarder le fichier et quitter nano

  • Rechargez le démon de lancement :

    sudo launchctl unload /System/Library/LaunchDaemons/com.apple.postfix.master.plist
    sudo launchctl load /System/Library/LaunchDaemons/com.apple.postfix.master.plist
  • Activer SIP

0 votes

Confirmé : c'est ainsi que fonctionne mon serveur Postfix :).

0 votes

Au moins dans Catalina, il n'est pas nécessaire de désactiver SIP. Copiez le fichier plist, modifiez-le comme vous l'avez dit, mettez-le dans /System/Library/LaunchDaemons/com.apple.postfix.custom.plist (ou un nom similaire) et redémarrez votre ordinateur. En raison de la façon dont Catalina (et Mojave) divise le lecteur de démarrage, vous écrivez en fait sur le volume de données, il n'est donc pas nécessaire de désactiver SIP. Je n'ai pas essayé de mettre les fichiers dans /Library/ car cela a fonctionné.

3voto

mjjames Points 151

J'utilise MacOS Catalina.

J'ai copié com.apple.postfix.master.plist de /System/Library/LaunchDaemons/ a /Library/LaunchDaemons comme l'a suggéré @Johnson dans sa réponse. J'ai ensuite procédé aux modifications spécifiées par @klanomath dans sa réponse.

En cours d'exécution sudo launchctl load /Library/LaunchDaemons/com.apple.postfix.master.plist j'ai eu ça : service already loaded . J'ai essayé unload mais le SIP ne le permet pas.

Après quelques recherches supplémentaires, j'ai trouvé https://github.com/alexzhangs/MacOS-postfix-autostart . Ce repo n'est plus maintenu mais l'auteur disait que le service postfix sera démarré à la demande lors de l'appel de sendmail.

J'ai testé et confirmé que cela fonctionne. Il n'est donc pas nécessaire de lancer automatiquement Postfix sur les nouveaux systèmes d'exploitation.

2voto

Johnson Points 72

Il n'est pas nécessaire ou recommandé de modifier les listes dans /System/Library/LaunchDaemons. - faites plutôt une copie dans /Library/LaunchDaemons et modifiez-la.

1 votes

Nous recherchons des réponses longues qui fournissent des explications et un contexte. Ne vous contentez pas d'une réponse d'une ligne ; expliquez pourquoi votre réponse est juste, idéalement en la citant. Les réponses qui n'incluent pas d'explications peuvent être supprimées.

1voto

AG Palo Alto Points 11

J'avais besoin d'un démon écoutant sur le port 25 pour les clients locaux, donc je devais encore faire la configuration locale de LaunchDaemon sur Catalina. La technique de base dans le github scripts fonctionne toujours sans avoir à pirater les protections. En utilisant sudo, copiez le fichier par défaut dans /Library/LaunchDaemons, renommez le fichier et changez la valeur du Label à l'intérieur du fichier ; le nom que vous lui donnez n'a pas d'importance. J'ai utilisé le nom org.postfix.custom.plist . J'ai supprimé les paramètres de sortie de 60 secondes et défini les clés RunAtLoad et KeepAlive LaunchDaemon sur true. Cela a fonctionné pour moi. J'ai les éléments suivants dans mon /Library/LaunchDaemons/org.postfix.custom.plist fichier. [Il s'agit de l'ensemble du fichier.] Vous devez ensuite redémarrer parce que Catalina ne permet pas de décharger soi-même la configuration existante.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>org.postfix.custom</string>
        <key>Program</key>
        <string>/usr/libexec/postfix/master</string>
        <key>ProgramArguments</key>
        <array>
                <string>master</string>
        </array>
        <key>QueueDirectories</key>
        <array>
                <string>/var/spool/postfix/maildrop</string>
        </array>
        <key>AbandonProcessGroup</key>
        <true/>
        <key>RunAtLoad</key>
        <true/>
        <key>KeepAlive</key>
        <true/>
</dict>
</plist>

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X