Fedora
Fedora 上的 Postfix 不遵循別名
我創建了一個腳本來安裝 Postfix,它可以完美地與我所有的 Ubuntu 客戶端配合使用,但不適用於我的 Fedora 客戶端。
Fedora 客戶端能夠直接向 user@domain.com 發送電子郵件,但是當發送到 root 時,它應該被重定向到 user@gmail.com,而是被發送到 root@freesoftwareservers.com
我一生都想不通為什麼……如果有人能指出這個很棒的問題,這裡是配置和日誌。
#!/bin/bash DOMAIN=domain.com forwardemail=domain@gmail.com cat << 'EOL' >/etc/postfix/main.cf # #PostFixConfig ##Modify Below [HOSTNAME] & [DOMAIN]## ###################################### myhostname = [HOSTNAME] mydomain = [DOMAIN] relayhost = smtp.$mydomain biff = no append_dot_mydomain = no readme_directory = no smtpd_banner = $myhostname ESMTP $mail_name 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 smtp_header_checks = regexp:/etc/postfix/header_checks alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = $mydomain mydestination = $myhostname $myhostname.$mydomain localhost 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 = all EOL cat << EOL >/etc/aliases postmaster: root root: $forwardemail trash: /tmp/mail.trash EOL newaliases cat << EOL >/etc/postfix/header_checks /^From:[[:space:]]+(.*)/ REPLACE From: "$HOSTNAME" <$forwardemail > EOL postmap /etc/postfix/header_checks chown root:root /etc/postfix/ -R && service postfix restart echo "PostFix Setup For $HOSTNAME" | mail -s "PostFix has forwarded roots e-mail on $HOSTNAME to this e-mail" root echo "" echo "Main.CF" cat /etc/postfix/main.cf echo "" echo "header_checks" cat /etc/postfix/header_checks echo "" echo "Aliases" cat /etc/aliases echo "" echo "MailName" cat /etc/mailname echo "" echo "MailLog" tail /var/log/maillog tail /var/log/mail.log
日誌:
Jul 13 05:17:25 kvmatrix postfix/cleanup[16951]: F296FE104B: message-id=<20190713121725.F296FE104B@KVMatrix> Jul 13 05:17:25 kvmatrix postfix/qmgr[16643]: F296FE104B: from=<root@freesoftwareservers.com>, size=443, nrcpt=1 (queue active) Jul 13 05:17:26 kvmatrix postfix/smtp[16953]: F296FE104B: replace: header From: root@freesoftwareservers.com (root): From: "kvmatrix" <user@gmail.com > Jul 13 05:17:26 kvmatrix postfix/smtp[16953]: F296FE104B: to=<root@freesoftwareservers.com>, orig_to=<root>, relay=smtp.domain.com[192.168.1.255]:587, delay=0.06, delays=0.01/0.01/0.03/0.01, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 17FACC247B) Jul 13 05:17:26 kvmatrix postfix/qmgr[16643]: F296FE104B: removed [root@kvmatrix ~]#
我注意到對我
to=<root@freesoftwareservers.com>, orig_to=<root>,
來說幾乎看起來像“重定向/別名”的行,除了地址是錯誤的。[root@kvmatrix ~]# cat /etc/aliases mailer-daemon: postmaster postmaster: root root: user@gmail.com trash: /tmp/mail.trash
這是使用完全相同的腳本從工作伺服器設置中獲取的日誌:
Jul 13 05:03:18 confluence postfix/master[4518]: daemon started -- version 3.1.0, configuration /etc/postfix Jul 13 05:03:18 confluence postfix/pickup[4521]: B9029A2C44: uid=0 from=<root@confluence.freesoftwareservers.com> Jul 13 05:03:18 confluence postfix/cleanup[4525]: B9029A2C44: message-id=<20190713120318.B9029A2C44@confluence> Jul 13 05:03:18 confluence postfix/qmgr[4522]: B9029A2C44: from=<root@confluence.freesoftwareservers.com>, size=449, nrcpt=1 (queue active) Jul 13 05:03:18 confluence postfix/cleanup[4525]: BA500A2C45: message-id=<20190713120318.B9029A2C44@confluence> Jul 13 05:03:18 confluence postfix/qmgr[4522]: BA500A2C45: from=<root@confluence.freesoftwareservers.com>, size=594, nrcpt=1 (queue active) Jul 13 05:03:18 confluence postfix/local[4533]: B9029A2C44: to=<root@confluence.freesoftwareservers.com>, relay=local, delay=0.01, delays=0.01/0/0/0, dsn=2.0.0, status=sent (forwarded as BA500A2C45) Jul 13 05:03:18 confluence postfix/qmgr[4522]: B9029A2C44: removed Jul 13 05:03:18 confluence postfix/smtp[4534]: BA500A2C45: replace: header From: root@confluence.freesoftwareservers.com (root): From: "confluence" <user@gmail.com > Jul 13 05:03:18 confluence postfix/smtp[4534]: BA500A2C45: to=<user@gmail.com>, orig_to=<root@confluence.freesoftwareservers.com>, relay=smtp.domain.com[192.168.1.255]:587, delay=0.04, delays=0/0/0.03/0.01, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as C3BC8C247B) Jul 13 05:03:18 confluence postfix/qmgr[4522]: BA500A2C45: removed Jul 13 05:04:52 confluence postfix/pickup[4521]: 89B08A2C45: uid=0 from=<root@confluence.freesoftwareservers.com> Jul 13 05:04:52 confluence postfix/cleanup[4525]: 89B08A2C45: message-id=<20190713120452.89B08A2C45@confluence> Jul 13 05:04:52 confluence postfix/qmgr[4522]: 89B08A2C45: from=<root@confluence.freesoftwareservers.com>, size=385, nrcpt=1 (queue active) Jul 13 05:04:52 confluence postfix/cleanup[4525]: 8A550A2C44: message-id=<20190713120452.89B08A2C45@confluence> Jul 13 05:04:52 confluence postfix/qmgr[4522]: 8A550A2C44: from=<root@confluence.freesoftwareservers.com>, size=530, nrcpt=1 (queue active) Jul 13 05:04:52 confluence postfix/local[4533]: 89B08A2C45: to=<root@confluence.freesoftwareservers.com>, relay=local, delay=0.01, delays=0/0/0/0, dsn=2.0.0, status=sent (forwarded as 8A550A2C44) Jul 13 05:04:52 confluence postfix/qmgr[4522]: 89B08A2C45: removed Jul 13 05:04:52 confluence postfix/smtp[4534]: 8A550A2C44: replace: header From: root@confluence.freesoftwareservers.com (root): From: "confluence" <user@gmail.com > Jul 13 05:04:52 confluence postfix/smtp[4534]: 8A550A2C44: to=<user@gmail.com>, orig_to=<root@confluence.freesoftwareservers.com>, relay=smtp.domain.com[192.168.1.255]:587, delay=0.05, delays=0/0/0.04/0.01, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 93953C247B) Jul 13 05:04:52 confluence postfix/qmgr[4522]: 8A550A2C44: removed
好吧,我過去曾使用過它,但這次嘗試在設置 Postfix 時減少我的配置。我不確定為什麼 Ubuntu 不需要它,但 Fedora 需要它,但這就是我修復它的方式。
/etc/postfix/main.cf:
canonical_maps = hash:/etc/postfix/canonical
/etc/postfix/規範:
root user@gmail.com
重新載入 Postfix 並測試!–>
postmap /etc/postfix/canonical && postfix reload