sendmailを実行しようとするとエラーが発生します。私はOS X 10.8 Mountain Lionを使用しています。
sendmail: fatal: chdir /Library/Server/Mail/Data/spool: No such file or directory
sendmailを実行しようとするとエラーが発生します。私はOS X 10.8 Mountain Lionを使用しています。
sendmail: fatal: chdir /Library/Server/Mail/Data/spool: No such file or directory
回答:
ターミナルで実行するだけ
sudo mkdir -p /Library/Server/Mail/Data/spool
sudo /usr/sbin/postfix set-permissions
sudo /usr/sbin/postfix start
それは私のためにトリックをしました。
すべての警告を取り除くために、私は以下をしなければなりませんでした:
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_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_directory
Postfixの変数が存在しないを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
をリストする必要があります。たとえば、ファイルを次のように変更しました。maildrop
main.cf
queue_directory
org.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.plist
manページに詳細が記載されているキーを使用してください。)