我在 Ubuntu 中配置了一个 Postfix 服务器作为卫星系统,以将电子邮件转发到 Exchange 服务器。
当我尝试sudo -i
与不属于该sudoers
组的用户进行操作时,事件会报告发送电子邮件。(我认为使用 Postfix)
在 Exchange 队列查看器中,我看到未送达安全事件报告地址的邮件[email protected]
。该电子邮件不存在。我将其更改/etc/mailname
为使用domain.com
,但随后在 Postfix 的日志中,/var/log/mail.log
我看到一封电子邮件发往[email protected]
。
设置完成后,我运行
newaliases
service postfix restart
我的目标是设置 postfix 将事件报告发送到[email protected]
而不是[email protected]
或[email protected]
笔记:我目前正在使用多个 PHP 脚本发送电子邮件[email protected]
,一切运行正常。
hostname -f
ns.domain.local
cat /etc/hosts
127.0.0.1 ns.domain.local ns localhost
192.168.1.3 ns.domain.local ns
cat /etc/hostname
ns
cat /root/.forward
[email protected]
cat /etc/aliases
postmaster: root
root: [email protected]
cat /etc/mailname
domain.local
cat /etc/postfix/main.cf
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
append_dot_mydomain = no
readme_directory = no
# 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
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = ns.domain.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = ns.domain.local, localhost.domain.local, localhost,
relayhost = 192.168.1.2 #(EXCHANGE_IP_ADDRESS)
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
inet_protocols = ipv4
感谢您的任何帮助。
答案1
我找到了问题所在。现在我可以收到报告邮件了。正如文档所解释的,您需要将 root 本地帐户重定向到 unix 帐户。我保留了之前发布的所有其他设置。
我必须配置:
nano /etc/postfix/main.cf:
virtual_alias_maps = hash:/etc/postfix/virtual
# I had to create the file.
nano /etc/postfix/virtual:
root root@localhost
然后运行
postmap /etc/postfix/virtual
这里是解释: http://www.postfix.org/STANDARD_CONFIGURATION_README.html#some_local
谢谢你们。