Sendmail'i çalıştırmaya çalışırken hata alıyorum. OS X 10.8 Dağ Aslanı'ndayım.
sendmail: fatal: chdir /Library/Server/Mail/Data/spool: No such file or directory
Sendmail'i çalıştırmaya çalışırken hata alıyorum. OS X 10.8 Dağ Aslanı'ndayım.
sendmail: fatal: chdir /Library/Server/Mail/Data/spool: No such file or directory
Yanıtlar:
Sadece terminalde çalıştır
sudo mkdir -p /Library/Server/Mail/Data/spool
sudo /usr/sbin/postfix set-permissions
sudo /usr/sbin/postfix start
Bu benim için hile yaptı.
Tüm uyarılardan kurtulmak için aşağıdakileri yapmak zorunda kaldım:
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 : queue_directoryDeğişkeni olarak olarak /etc/postfix/main.cfdeğiştirin /var/spool/postfix.
Tam cevap:
mkdir -p Yaklaşım olasılıkla eser, ama daha basit bir çözümü vardır sanıyorum. Adil uyarı, Postfix'de yeniyim ve hepsi yanlış olabilir.
Mac OS X'in çeşitli sürümleri posta için iki kök dizinden birini kullanıyor gibi görünüyor:
/var/spool/postfix/Library/Server/MailBu ikisi zaman içinde karışmış gibi görünüyor. (Not /varaslında aslında bir bağlantıdır /private/var, bu nedenle sık sık birbirlerinin yerine kullanılanları görürsünüz.)
Söyleyebileceğim kadarıyla, Mac OS X Server'ın Posta hizmetleri için kullandığı, ancak Postfix ile aynı olmayan Posta hizmetleri için kullandığı /Library/Server/Mailbir dizin . Öte yandan, Postfix'in iç işlemleri için tercih edilen dizin (s. 14) ./var/spool/postfix
Bu dizinlere başvuran iki ana yapılandırma dosyası vardır:
/etc/postfix/main.cf/System/Library/LaunchDaemons/org.postfix.master.plistÇünkü ben şüpheli "Böyle bir dosya ya da dizin hatası" görüyorsanız queue_directoryPostfix en değişken main.cfbelirtir /Library/Server/Mail/Data/spoolyok ki. Düzenli Mac OS X'te ( Sunucu'dan farklı olarak ), /Library/Serverdizinin tamamı mevcut değildir. Yaratmak yerine, queue_directorydeğişkeni düzeltmeyi deneyin /var/spool/postfix.
İkinci bir tutarsızlık noktası Mac OS X'in program yöneticisi olan lansman için varsayılan ayarlardır. Her zaman Postfix'i çalıştırmak gerekli değildir, çünkü launchd giden posta için bir dizini izleyebilir ve sadece gönderilecek bir şey olduğunda Postfix'i çalıştırabilir. Bunun gerçekleşmesi için QueueDirectoriesanahtarın org.postfix.master.plist, maildropdizinin alt dizinindeki main.cf's' queue_directorydeğişkeninde listelenmesi gerekir . Örneğin, dosyamı org.postfix.master.plistiçerecek şekilde değiştirdim :
<key>QueueDirectories</key>
<array>
<string>/var/spool/postfix/maildrop</string>
</array>
Bu iki dizin tutarlı olduğunda, Postfix başlatılmalıdır. Koşarken izleyebilmelisin /var/log/mail.log:
$ 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
Bu komutların sonuncusu Postfix'i başlatır , böylece mail.loganında hata ayıklama geri bildirimini izleyebilirsin , ama yine de normal olarak yürütmek zorunda değilsin. Launchd, Postfix'i gerektiği gibi çalıştıracak. (Postfix'in sürekli çalışmasını istediğinizden eminseniz KeepAlive, launchd.plistman sayfasında ayrıntılı olan anahtarı kullanın .)