postfix/postfix-script: 致命: Postfix 邮件系统没有运行

mar*_*o88 7 email-server postfix mac-osx

我正在使用服务器应用程序 5.2 运行全新安装的 macOS 10.12.1。

无论是否激活邮件服务,我都无法在命令行中使用 postfix。当我尝试重新加载 postfix 时,我总是收到此错误:

postfix/postfix-script: fatal: the Postfix mail system is not running
Run Code Online (Sandbox Code Playgroud)

当我做 postconf -ni 时有这个:

remote:log root# postconf -n
biff = no
command_directory = /usr/sbin
compatibility_level = 2
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
html_directory = /usr/share/doc/postfix/html
inet_protocols = all
mail_owner = _postfix
mailbox_size_limit = 0
mailq_path = /usr/bin/mailq
manpage_directory = /usr/share/man
message_size_limit = 10485760
mynetworks = 127.0.0.0/8, [::1]/128
newaliases_path = /usr/bin/newaliases
queue_directory = /private/var/spool/postfix
readme_directory = /usr/share/doc/postfix
recipient_delimiter = +
sample_directory = /usr/share/doc/postfix/examples
sendmail_path = /usr/sbin/sendmail
server_config_directory = /Library/Server/Mail/Config/postfix
setgid_group = _postdrop
smtpd_client_restrictions = permit_mynetworks permit_sasl_authenticated permit
smtpd_tls_ciphers = medium
tls_random_source = dev:/dev/urandom
unknown_local_recipient_reject_code = 550
Run Code Online (Sandbox Code Playgroud)

更新1:

我也做了 postfix start,我得到了这个:

postfix/postfix-script: starting the Postfix mail system
postfix/postfix-script: fatal: mail system startup failed
Run Code Online (Sandbox Code Playgroud)

而且我仍然可以在 localhost 的 25、587、110 和 995 端口进行 telnet。

有谁知道?

mar*_*o88 4

要在服务器应用程序和服务器应用程序 5 的终端中使用相同的后缀,需要进行一些修复。

与服务器应用程序 3 和 5 的主要区别在于,在服务器应用程序 3 中,使用了系统中的后缀,因此当时可以通过终端从服务器应用程序 3 中命令该后缀,现在在服务器应用程序 5 中,这种能力发生了变化,现在您拥有系统中的后缀和另一个后缀,

/Applications/Server.app/Contents/ServerRoot/
Run Code Online (Sandbox Code Playgroud)

新的 main.cf 指向的许多位置与服务器应用程序 3 不同。

在这里,我将为任何想要使用本机后缀的人列出从服务器应用程序 3 的 /Library/Server/Mail/Config/postfix/main.cf 到服务器应用程序 5(也在同一路径中)的更改列表(在评论中)是服务器应用程序 5) 的新值:

#command_directory = /Applications/Server.app/Contents/ServerRoot/usr/sbin
command_directory = /usr/sbin

#daemon_directory = /Applications/Server.app/Contents/ServerRoot/usr/libexec/postfix
daemon_directory = /usr/libexec/postfix

#sendmail_path = /Applications/Server.app/Contents/ServerRoot/usr/sbin/sendmail
sendmail_path = /usr/sbin/sendmail

#mailq_path = /Applications/Server.app/Contents/ServerRoot/usr/bin/mailq
mailq_path = /usr/bin/mailq

#html_directory = /Applications/Server.app/Contents/ServerRoot/usr/share/doc/postfix/html
html_directory = /usr/share/doc/postfix/html

#manpage_directory = /Applications/Server.app/Contents/ServerRoot/usr/share/man
manpage_directory = /usr/share/man

#sample_directory = /Applications/Server.app/Contents/ServerRoot/usr/share/doc/postfix/examples
sample_directory = /usr/share/doc/postfix/examples

#readme_directory = /Applications/Server.app/Contents/ServerRoot/usr/share/doc/postfix
readme_directory = /usr/share/doc/postfix
Run Code Online (Sandbox Code Playgroud)

至少我在 Server app 3 中关闭邮件并没有关闭 postfix 和 dovecot,但现在使用 Server App 5,它会关闭两者,所以你必须通过以下方式启动 postfix:

postfix start
Run Code Online (Sandbox Code Playgroud)

然后启动 dovecot (你只需要参数来停止或重新加载),

dovecotd 
Run Code Online (Sandbox Code Playgroud)