Je reçois une erreur lorsque j'essaie d'exécuter sendmail. Je suis sous OS X 10.8 Mountain Lion.
sendmail: fatal: chdir /Library/Server/Mail/Data/spool: No such file or directory
Je reçois une erreur lorsque j'essaie d'exécuter sendmail. Je suis sous OS X 10.8 Mountain Lion.
sendmail: fatal: chdir /Library/Server/Mail/Data/spool: No such file or directory
Réponses:
Exécutez simplement dans le terminal
sudo mkdir -p /Library/Server/Mail/Data/spool
sudo /usr/sbin/postfix set-permissions
sudo /usr/sbin/postfix start
Cela a fait l'affaire pour moi.
Afin de me débarrasser de tous les avertissements, j'ai dû faire ce qui suit:
sudo mkdir -p /Library/Server/Mail/Data/spool
sudo gzip /usr/share/man/man1/{postalias.1,postcat.1,postconf.1,postdrop.1,postfix.1,postkick.1,postlock.1,postlog.1,postmap.1,postmulti.1,postqueue.1,postsuper.1,sendmail.1}
sudo gzip /usr/share/man/man5/{access.5,aliases.5,bounce.5,canonical.5,cidr_table.5,generic.5,header_checks.5,ldap_table.5,master.5,mysql_table.5,nisplus_table.5,pcre_table.5,pgsql_table.5,postconf.5,postfix-wrapper.5,regexp_table.5,relocated.5,tcp_table.5,transport.5,virtual.5}
sudo gzip /usr/share/man/man8/{anvil.8,bounce.8,cleanup.8,discard.8,error.8,flush.8,local.8,master.8,oqmgr.8,pickup.8,pipe.8,proxymap.8,qmgr.8,qmqpd.8,scache.8,showq.8,smtp.8,smtpd.8,spawn.8,tlsmgr.8,trivial-rewrite.8,verify.8,virtual.8}
sudo /usr/sbin/postfix set-permissions
sudo chmod 700 /Library/Server/Mail/Data/mta
sudo /usr/sbin/postfix start
chown: /usr/share/man/man1/postalias.1.gz: No such file or directory
TLDR : Modification de la queue_directory
variable /etc/postfix/main.cf
à /var/spool/postfix
.
Réponse complète:
L' mkdir -p
approche fonctionne probablement, mais je soupçonne qu'il existe une solution plus simple. Juste avertissement, je suis nouveau sur Postfix, et cela peut être incorrect.
Il semble que diverses éditions de Mac OS X utilisent l'un des deux répertoires racine pour le courrier:
/var/spool/postfix
/Library/Server/Mail
Ces deux semblent avoir été confus au fil du temps. (La note /var
est en fait un lien symbolique vers /private/var
, donc vous voyez souvent ceux utilisés de manière interchangeable.)
D'après ce que je peux dire, /Library/Server/Mail
est un répertoire que Mac OS X Server utilise pour ses services de messagerie, qui dépendent de Postfix, mais ne sont pas les mêmes. /var/spool/postfix
, d'autre part, est le répertoire préféré (p. 14) pour les opérations internes de Postfix.
Il existe deux fichiers de configuration principaux qui font référence à ces répertoires:
/etc/postfix/main.cf
/System/Library/LaunchDaemons/org.postfix.master.plist
Vous voyez "Pas une telle erreur de fichier ou de répertoire", je suppose, parce que la queue_directory
variable dans Postfix main.cf
fait référence /Library/Server/Mail/Data/spool
, qui n'existe pas. Sur Mac OS X normal ( contrairement au serveur ), le /Library/Server
répertoire entier n'existe pas. Au lieu de le créer, essayez de corriger la queue_directory
variable /var/spool/postfix
.
Un deuxième point d'incohérence réside dans les paramètres par défaut de launchd, le gestionnaire de démons de Mac OS X. Il n'est pas nécessaire d'exécuter Postfix tout le temps, car launchd peut surveiller un répertoire pour le courrier sortant et exécuter Postfix uniquement lorsqu'il y a quelque chose à envoyer. Pour s'assurer que cela se produira, la QueueDirectories
clé de org.postfix.master.plist
doit répertorier le maildrop
sous - répertoire du répertoire dans main.cf
la queue_directory
variable de. Par exemple, j'ai modifié mon org.postfix.master.plist
fichier pour inclure:
<key>QueueDirectories</key>
<array>
<string>/var/spool/postfix/maildrop</string>
</array>
Avec ces deux répertoires cohérents, Postfix devrait se lancer. Vous devriez pouvoir regarder /var/log/mail.log
pendant que vous courez:
$ sudo launchctl unload /System/Library/LaunchDaemons/org.postfix.master.plist
$ sudo launchctl load /System/Library/LaunchDaemons/org.postfix.master.plist
$ sudo launchctl start org.postfix.master
La dernière de ces commandes démarre Postfix, vous pouvez donc surveiller les mail.log
commentaires de débogage immédiats, mais encore une fois, il n'est pas nécessaire de les exécuter normalement. Launchd exécutera Postfix au besoin. (Si vous êtes certain que vous voulez que Postfix fonctionne tout le temps, utilisez la KeepAlive
clé détaillée dans la launchd.plist
page de manuel .)