由于最近我们办公室 ISP 的政策发生了变化(不再使用 SSL 或 TLS 1.0,仅使用 TLS 1.1+),我不得不放弃 ssmtp 作为 Debian 9 工作站上的邮件中继。我重新安装了 postfix,它自动删除了 ssmtp。伟大的。但是安装时出现了一些问题,可能是由于 apparmor: postfix 无法配置,并且没有任何apt-get clean
、apt-get install -f
、 或dpkg -a --configure
可以解决这个问题。我禁用了 apparmor,重新安装了 ssmtp,清除了 postfix,修复了依赖项,然后重新安装了 postfix。现在 postfix 会自动完成安装后配置,没有问题。伟大的。
现在的问题是 postfix 无法为来自 root 的消息创建锁定文件。这是当我尝试以 root 身份发送测试消息时在 mail.warn 中生成的错误消息:
Feb 25 10:30:56 Mephistopheles postfix/local[9195]: warning: unable to create lock file /root/mailbox.lock: Permission denied
我非常确定在我的其他 Debian 工作站上默认的假脱机目录是 /var/mail。那么,第一个问题,是假脱机目录有问题,还是邮箱目录有问题?这是组后缀对目录有权限的问题吗?我不想授予 postfix 对 /root 的 RW 权限。
我尝试设置postconf mail_spool_directory=/var/mail/
and postconf home_mailbox=
(null),然后运行postfix reload
.到目前为止还没有骰子。
这是我的/etc/postfix/main.cf:
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
readme_directory = no
# See http://www.postfix.org/COMPATIBILITY_README.html -- default to 2 on
# fresh installs.
compatibility_level = 2
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
#restricting use to TLS 1.1+
smtpd_tls_mandatory_protocols = !SSLv2,!SSLv3,!TLSv11
smtp_tls_mandatory_protocols = !SSLv2,!SSLv3,!TLSv1
smtpd_tls_protocols = !SSLv2,!SSLv3,!TLSv1
smtp_tls_protocols = !SSLv2,!SSLv3,!TLSv1
smtpd_tls_exclude_ciphers = RC4, aNULL, LOW, EXP, MEDIUM, ADH, AECDH, MD5, DSS ECDSA, CAMELLIA128,
3DES, CAMELLIA256, RSA+AES, eNULL
smtpd_tls_security_level = encrypt
smtp_tls_security_level = encrypt
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated
defer_unauth_destination
myhostname = Mephistopheles.[our domain].com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $myhostname, [our domain].com,
Mephistopheles, localhost.localdomain, localhost
relayhost = [our ISP name]:25 mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
mail_spool_directory = /var/mail/
home_mailbox =
在以前的 postfix 实例(在其他机器上)上,安装是完全无缝的。尽管 apparmor 显然发挥了作用,但不确定 ssmtp/postfix 交换如何解决这个问题。
答案1
您是否已将发送给 root 的电子邮件重定向到您的非特权操作系统帐户?
http://www.postfix.org/BASIC_CONFIGURATION_README.html#notify
/etc/别名:
邮政局长:你
根:你