OS X Mountain Lion'da Sendmail Hatası


27

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:


35

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ı.


Teşekkürler, çalıştı, posta çıkmıyor ve aşağıdaki hatayı alıyor: postdrop: warning: mail_queue_enter: dosya oluştur maildrop / 609676.26828: İzin reddedildi

Ben de sudo / usr / sbin / postfix ayar izinlerini yapmak zorunda kaldım ve şimdi çalışıyor

Bir demet teşekkürler, bu bazı tuhaf hatalar ve uyarılar atmasına rağmen bir cazibe gibi çalıştı.
Swader

> Sudo mkdir ... 'i takip ettim ve işe yarıyor. Çözüm için teşekkürler.
Abhinav Chittora 11:12

23

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

1
Adam sayfalarını sıkıştırmanın gerekli olduğunu sanmıyorum.
yokuş yukarı

3
Ayar izinlerini çalıştırırken bu uyarıdan kaçınmak için man sayfalarının sıkıştırılması gerekir:chown: /usr/share/man/man1/postalias.1.gz: No such file or directory
Andrew Ferrier

Bu bir cazibe gibi çalıştı, sadece hepsini yapıştırdı ve iyi gitmek. @ Jasper teşekkürler!
adriandz

3

Çözüm ayrıca, 10.8'deki bir faks hizmetinin 10.8 yükseltmesinden sonra e-posta göndermeyi durdurduğu bir hatayı düzeltiyor gibi görünüyor.


0

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/Mail

Bu 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 .)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.