web-dev-qa-db-ja.com

ポストフィックスリレー-ただし、ルートのローカルメール配信

外部のSMTPサーバーが構成されたメールリレーとしてpostifxを設定しました。全体的に、これは正常に機能します。しかし、私の目標は、rootを除くすべてのメールが外部のSMTPサーバーに転送されることです。

/etc/postfix/main.cf:

#myorigin = /etc/mailname

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

# 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_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = example.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = localhost
relayhost = [smtp.relay.com]:587
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = 127.0.0.1
smtp_sasl_auth_enable = yes  
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd  
smtp_sasl_security_options = 
smtpd_use_tls=yes
smtp_tls_security_level = encrypt

この設定では、postfixはSMTPサーバーを介してrootメールを[email protected]に送信しようとしました。ルートのローカル配信は、ここでの私の好ましい解決策です。

誰か助けてもらえますか?

ありがとう!

1
spakus

Postfixセットアップはさまざまな設定を提供するため、postfixがインストールされているUbuntu 16システムでローカルメール配信を有効にすると、 may が役立つ可能性があることに注意してください(パスはシステムによって異なる場合があります)。

Postfixはrootに配信されませんが、rootのすべてのメールを別のlocalhostユーザーアカウントにリダイレクトできます。接尾辞ユーザー(存在する場合)が、他のユーザーは存在します。その編集のために

/ etc/aliases

〜例:

postmaster: <USER1>
root: <USER1>
<USER2>: <USER1>
...

次に、コマンドを発行します

Sudo newaliases


Procmailをインストールする必要があります。これは、たとえば、コマンドによって

Sudo apt install procmail

(中止することができます。procmailはすでにインストールされています。)


のいくつかの設定

/etc/postfix/main.cf

多分

myhostname = <HOSTNAME>@<LOCALNET>
mydestination = <ALL HOSTNAMES ASSIGNED TO 127.0.0.1, MAYBE ::1, IN /etc/hosts, DELIMITED BY SPACE>
local_transport = local
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
# following all possible arguments, strip as you like
notify_classes = bounce, 2bounce, delay, policy, protocol, resource, software

コマンド発行後、変更が有効になります

SudoサービスのPostfixの再起動


ログファイルを読むのに大いに役立ちます

/var/log/mail.log、/var/log/mail.err

より役立つ読み物:

http://www.postfix.org/BASIC_CONFIGURATION_README.html

http://www.postfix.org/LOCAL_RECIPIENT_README.html

http://www.postfix.org/postconf.5.html#local_transport

http://www.postfix.org/aliases.5.html

1
Michael Besteck