OS X Mountain LionでのSendmailエラー


27

sendmailを実行しようとするとエラーが発生します。私はOS X 10.8 Mountain Lionを使用しています。

sendmail: fatal: chdir /Library/Server/Mail/Data/spool: No such file or directory

回答:


35

ターミナルで実行するだけ

sudo mkdir -p /Library/Server/Mail/Data/spool
sudo /usr/sbin/postfix set-permissions
sudo /usr/sbin/postfix start

それは私のためにトリックをしました。


postdrop:警告:mail_queue_enterを:おかげで、メールが出て行かないと、次のエラーを取得することを試みたファイルを作成してメールドロップ/ 609676.26828:アクセス許可が拒否されました

私もsudo / usr / sbin / postfix set-permissionsをしなければならなかったし、今では動作します

たくさんのおかげで、これは奇妙なエラーや警告を投げ出しましたが、魅力のように機能しました。
スウェーダー

私は> sudo mkdir ...をフォローしましたが、うまくいきました。解決策をありがとう。
Abhinav Chittora

23

すべての警告を取り除くために、私は以下をしなければなりませんでした:

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
manページを圧縮する必要はないと思います。
nohillside

3
set-permissionsを実行するときにこの警告を回避するには、manページを圧縮する必要があります。chown: /usr/share/man/man1/postalias.1.gz: No such file or directory
Andrew Ferrier

これは魅力のように機能し、それをすべて貼り付けて、うまくいきました。ありがとう@Jasper!
アドリアンズ

3

このソリューションは、10.8のアップグレード後にFAXサービスが電子メールの送信を停止した10.8のエラーも修正するようです。


0

TLDR:変更queue_directory中の変数/etc/postfix/main.cf/var/spool/postfix

完全な答え:

このmkdir -p アプローチはおそらく機能しますが、もっと簡単な解決策があると思います。公正な警告、私はPostfixを初めて使用しますが、これはすべて間違っている可能性があります。

Mac OS Xのさまざまなエディションでは、メールに2つのルートディレクトリのいずれかを使用しているようです。

  • /var/spool/postfix
  • /Library/Server/Mail

これらの2つは時間の経過とともに混乱したようです。(注/varは実際にはへのシンボリックリンクであるため/private/var、これらは同じ意味で使用されることがよくあります。)

私が知ることができるの/Library/Server/Mailは、Mac OS X Serverがそのメールサービスに使用するディレクトリで、Postfixに依存していますが、Postfixとは異なります。/var/spool/postfix一方、 Postfixの内部操作に適したディレクトリ( p。14 です。

これらのディレクトリを参照する2つの主要な構成ファイルがあります。

  • /etc/postfix/main.cf
  • /System/Library/LaunchDaemons/org.postfix.master.plist

queue_directoryPostfixの変数が存在しないをmain.cf参照しているため、「No such file or directory error」と思われ/Library/Server/Mail/Data/spoolます。通常のMac OS X(Serverとは異なり)では、/Library/Serverディレクトリ全体が存在しません。作成する代わりに、queue_directory変数をに修正してみてください/var/spool/postfix

2番目の矛盾点は、Mac OS Xのデーモンマネージャーであるlaunchdのデフォルト設定です。launchdは送信メールのディレクトリ監視し、送信するものがある場合にのみPostfixを実行できるため、常にPostfixを実行する必要はありません。これが確実に行われるようにするには、QueueDirectoriesキー入力での変数にディレクトリのサブディレクトリorg.postfix.master.plistをリストする必要があります。たとえば、ファイルを次のように変更しました。maildropmain.cfqueue_directoryorg.postfix.master.plist

<key>QueueDirectories</key>
<array>
        <string>/var/spool/postfix/maildrop</string>
</array>

これら2つのディレクトリが一致すると、Postfixが起動します。/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

これらのコマンドの最後は、Postfixをキックスタートするのでmail.log、すぐにデバッグのフィードバックを見ることができますが、通常どおり実行する必要はありません。Launchdは、必要に応じてPostfixを実行します。(Postfixを常に実行したい場合KeepAliveは、launchd.plistmanページに詳細が記載されているキーを使用してください。)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.