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_directoryvariable /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/MailCes deux semblent avoir été confus au fil du temps. (La note /varest 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/Mailest 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.plistVous voyez "Pas une telle erreur de fichier ou de répertoire", je suppose, parce que la queue_directoryvariable dans Postfix main.cffait référence /Library/Server/Mail/Data/spool, qui n'existe pas. Sur Mac OS X normal ( contrairement au serveur ), le /Library/Serverrépertoire entier n'existe pas. Au lieu de le créer, essayez de corriger la queue_directoryvariable /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 QueueDirectoriesclé de org.postfix.master.plistdoit répertorier le maildropsous - répertoire du répertoire dans main.cfla queue_directoryvariable de. Par exemple, j'ai modifié mon org.postfix.master.plistfichier 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.logpendant 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.logcommentaires 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 KeepAliveclé détaillée dans la launchd.plistpage de manuel .)