web-dev-qa-db-ja.com

拒否された送信者アドレス:ユーザーが所有していない

Parabola GNU/Linux-libre(ArchおよびALARMベース)とDovecotを実行しているSBCにPostfixをインストールしました。

それはかなりうまくいき、Thunderbirdでアカウントを設定しました。私が見つけた唯一の問題は、メールを送信するときに次のことが発生することです。

Sender address rejected: not owned by user megver83

そして、私はどこでも解決策を探してきました。

しかし、何も、それは本当に正気ではありません。 MySQLを使用することで解決する問題が時々ありますが、残念なことに、MySQLがサーバーで機能しないため、念のためPostgreSQLをインストールしました。

mail.log:

Aug 28 16:27:30 localhost postfix/smtpd[12064]: connect from gateway[192.168.50.1]
Aug 28 16:27:31 localhost postfix/smtpd[12064]: Anonymous TLS connection established from gateway[192.168.50.1]: TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)
Aug 28 16:27:31 localhost postfix/trivial-rewrite[12070]: warning: do not list domain eumela.ga in BOTH mydestination and virtual_alias_domains
Aug 28 16:27:31 localhost postfix/trivial-rewrite[12070]: warning: do not list domain eumela.ga in BOTH mydestination and virtual_mailbox_domains
Aug 28 16:27:31 localhost postfix/smtpd[12064]: NOQUEUE: reject: RCPT from gateway[192.168.50.1]: 553 5.7.1 <[email protected]>: Sender address rejected: not owned by user megver83; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<[192.168.50.10]>
Aug 28 16:27:33 localhost postfix/smtpd[12064]: disconnect from gateway[192.168.50.1] ehlo=2 starttls=1 auth=1 mail=1 rcpt=0/1 quit=1 commands=6/7

ここに^私は自動でメールを送ろうとしましたが、書いたすべてのアドレスで起こります。

$ postconf -n
alias_database = $alias_maps
alias_maps = hash:/etc/postfix/aliases
append_dot_mydomain = no
biff = no
broken_sasl_auth_clients = yes
command_directory = /usr/bin
compatibility_level = 2
daemon_directory = /usr/lib/postfix/bin
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
home_mailbox = Maildir/
html_directory = no
inet_interfaces = all
inet_protocols = ipv4
mail_owner = postfix
mailbox_size_limit = 134217728
mailq_path = /usr/bin/mailq
manpage_directory = /usr/share/man
message_size_limit = 134217728
meta_directory = /etc/postfix
mydestination = localhost.$mydomain, localhost, $mydomain, smtp.$mydomain
mydomain = eumela.ga
myhostname = pi.eumela.ga
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix
relay_domains = *
relayhost =
sample_directory = /etc/postfix
sendmail_path = /usr/bin/sendmail
setgid_group = postdrop
shlib_directory = /usr/lib/postfix
smtp_tls_note_starttls_offer = yes
smtp_tls_security_level = may
smtpd_helo_required = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sender_login_maps = $virtual_mailbox_maps
smtpd_tls_cert_file = /etc/letsencrypt/live/smtp.eumela.ga/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/smtp.eumela.ga/privkey.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_security_level = may
unknown_local_recipient_reject_code = 550
virtual_alias_maps = hash:/etc/postfix/virtual
virtual_mailbox_domains = hash:/etc/postfix/virtual-mailbox-domains
virtual_mailbox_maps = hash:/etc/postfix/virtual-mailbox-users
2
Megver83

sASL設定パラメーターが適切に見える-Postfixは認証部分をDovecotに依存します。認証が機能していると思います[1]。認証に使用するユーザーは、メールの送信者アドレスと異なる場合があります。認証されたユーザーが行うPostfixに追加の送信者に map を通知したい場合。受信の場合も同じですが、/etc/aliasesまたはその他の方法で受信者にシステムユーザーのエイリアスを設定できます。

これらの線はどこを見るべきかを示しています

smtpd_sender_login_maps = $virtual_mailbox_maps
virtual_mailbox_maps = hash:/etc/postfix/virtual-mailbox-users

そして、それに応じてファイルを編集します

#  envelope sender   owner (SASL login names)
[email protected]   user

次にpostmap -f /etc/postfix/virtual-mailbox-usersを実行し、postfixサービスをリロードします。この後、postfixはマップされたエントリで送信できるようになります。

[1]:例:userdb {driver = passwd}passdb {driver = pam}は、システムユーザー認証を指します-またはpasswd/userdb-fileまたはSQLバックエンドを介した仮想ユーザー

1
wbob

ああ、master.cfファイルの問題だと思います。それが言うところ:

  -o smtpd_helo_restrictions=reject_sender_login_mismatch

そして、それをコメントしました

#  -o smtpd_helo_restrictions=reject_sender_login_mismatch
1
Megver83