Postfixadminで設定したメールボックスにメールを送信できます。これは正しく機能しており、メールを送受信できます。しかし今、私はエイリアスも正しく機能する必要があります。私はチュートリアルを使用して、リストされているものを設定しました ここ 。しかし、どういうわけか、postfixはエイリアスのメールボックスにメールを送信しようとし続けます。
メインメール:[email protected]
エイリアスメール:[email protected]
データベース内のレコードが正しく設定されており、このコマンドを実行している場合:
postmap -q [email protected] mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf
メールボックスが添付されている[email protected]
という正しい電子メールアドレスを取得しています。私は何が間違っているのですか?
ログには有用な情報は含まれていません。エイリアスにメールを送信すると、ログは次のようになります。
Jun 10 10:38:13 localhost postfix/smtpd[3061]: C27DC614DD: client=mail-wm0-f41.google.com[74.125.82.41]
Jun 10 10:38:13 localhost postfix/cleanup[3072]: C27DC614DD: message-id=<CAGUk6whj3Drb-c=5N55TU80UoKR6sC2r4k+3jtxj9pBO5Gp5Pg@mail.gmail.com>
Jun 10 10:38:13 localhost postfix/qmgr[30229]: C27DC614DD: from=<[email protected]>, size=2011, nrcpt=1 (queue active)
Jun 10 10:38:13 localhost postfix/smtpd[3061]: disconnect from mail-wm0-f41.google.com[74.125.82.41]
Jun 10 10:38:14 localhost postfix/smtp[3074]: C27DC614DD: to=<[email protected]>, orig_to=<[email protected]>, relay=gmail-smtp-in.l.google.com[74.125.136.27]:25, delay=0.32, delays=0.07/0.01/0.15/0.1, dsn=2.0.0, status=sent (250 2.0.0 OK 1465547906 q2si2091788wme.1 - gsmtp)
Jun 10 10:38:14 localhost postfix/qmgr[30229]: C27DC614DD: removed
それでも、[email protected]
のメールボックスには入りません。
私の/etc/postfix/main.cf
:
smtpd_banner = $myhostname ESMTP
biff = no
append_dot_mydomain = no
readme_directory = no
smtpd_tls_cert_file=/etc/letsencrypt/live/domain.nl/fullchain.pem
smtpd_tls_key_file=/etc/letsencrypt/live/domain.nl/privkey.pem
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_tls_auth_only = yes
smtpd_tls_mandatory_protocols=!SSLv2
smtpd_tls_ciphers = high
smtpd_tls_loglevel = 1
smtpd_tls_ask_ccert=yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions =
permit_sasl_authenticated
permit_mynetworks
reject_unauth_destination
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
myhostname = mail.domain.nl
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = $myhostname
mydestination = localhost
relayhost =
mynetworks = 127.0.0.0/8 192.168.0.0/24
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
disable_vrfy_command = yes
virtual_transport = lmtp:unix:private/dovecot-lmtp
virtual_mailbox_base = /var/mail
virtual_mailbox_maps = mysql:/etc/postfix/sql/mysql_virtual_mailbox_maps.cf
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_alias_maps = mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/sql/mysql_virtual_domains_maps.cf
header_checks = regexp:/etc/postfix/header_checks
私の/etc/dovecot/dovecot-sql.conf.ext
は次のようになります:
driver = mysql
connect = Host=localhost dbname=postfix user=postfix password=spieard123
default_pass_scheme = MD5-CRYPT
password_query = SELECT username as user, password, '/var/mail/%d/%n' as userdb_home, 'maildir:/var/mail/%d/%n' as userdb_mail, 5000 as userdb_uid, 5000 as userdb_gid FROM mailbox WHERE username = '%u' AND active = '1'
私の/etc/dovecot/conf.d/auth-sql.conf.ext
は次のようになります:
passdb {
driver = sql
args = /etc/dovecot/dovecot-sql.conf.ext
}
userdb {
driver = static
args = uid=vmail gid=vmail home=/var/mail/%d/%n
}
NickWのある部屋が凍っていたので、新しい部屋を開きました。 ここから参加できます。
私の最初の返信(下記)は無視してください-それは機能しますが、おそらく良い解決策ではありません。
Postfixmain.cfまたはmaster.cfでreceive_override_options = no_address_mappingsを取得する可能性はありますか?.
SMTPと送信ポートの両方で-oreceive_override_options = no_address_mappingsとして使用しました。 (私はまだDSpam用に持っています)。
削除すると、PostfixはDovecotにメールを配信するユーザーを通知します。
userdb {
driver = sql
args = /etc/dovecot/dovecot-sql.conf
}
/etc/dovecot/dovecot-sql.conf:
user_query = SELECT maildir, 5000 AS uid, 5000 AS gid FROM mailbox, domain WHERE username = '%u' AND mailbox.active = '1' AND domain.domain = '%d' AND domain.active = '1'
このようにして、Dovecotは実際に存在する(そしてメールディレクトリを持つ)アカウントを知ることができ、PostfixはDovecotにアドレスがどのアカウントにマップされるかを伝えます。
/etc/dovecot/conf.d/auth-sql.conf.extでallow_all_users = yesを試しましたか
userdb {
driver = static
args = uid=vmail gid=vmail allow_all_users=yes home=/var/mail/%d/%n
}
エイリアスされたユーザー/ドメインをシンボリックリンクする必要がある場合があります
cd /var/mail
ln -s domain.tld alias_domain.tld
or
ln -s domain.tld/user domain2.tld/user_alias
これにより、dovecotのuserdbSQLルックアップが機能するほどエレガントではなくなります...
userdb {
driver = sql
args = /etc/dovecot/dovecot-sql.conf
}
私がこれまでに得た最高のものは:
user_query = SELECT maildir, 5000 AS uid, 5000 AS gid FROM mailbox, domain WHERE local_part = '%u' AND domain.domain = '%d';
(5000:5000 = vmail:vmailと仮定)
これにより、少なくともuser_aliasesが機能します(ユーザーエイリアスをエイリアスドメインで機能させることができません)
Postfixadminによって提供される多くのSQLクエリにより、Postboxは不明な仮想ユーザーを正しく拒否しますが、dovecot用に提供されるuserdb SQLルックアップにはaliasテーブルとalias_domainテーブルの両方がないため、SQLで修正するのに十分ではありません。
エイリアスが正しく機能していることを確認するには、最初にMySQLを直接確認してみてください。
あなたのログから、あなたのメールボックスに配信しようとする試みは見当たりません
エイリアスからgotoを選択します
エイリアスの場合、ログに次のようなものが表示されます。
29 06:46:59 mail postfix/local[15339]: A8967BF907: to=<[email protected]>, orig_to=<[email protected]>, relay=local, delay=1.1, delays=1/0.02/0/0.11, dsn=2.0.0, status=sent (delivered
ログを見ると、Gmailアドレスのエイリアスのように見えます
編集済みコメントを読み、同じシナリオをシミュレートしました。フローをたどると、ログに次のように表示されます。
Jun 29 08:15:31 mail postfix/qmgr[9259]: D803DC04BD: from=<[email protected]>, size=741, nrcpt=2 (queue active)
Jun 29 08:15:31 mail postfix/smtpd[18918]: disconnect from micro.sg[128.199.136.21] ehlo=1 mail=1 rcpt=1 data=1 quit=1 commands=5
Jun 29 08:15:31 mail dovecot: lda([email protected]): msgid=<[email protected]>: saved mail to INBOX
Jun 29 08:15:31 mail postfix/pipe[18984]: D803DC04BD: to=<[email protected]>, orig_to=<[email protected]>, relay=dovecot, delay=0.06, delays=0.01/0.01/0/0.03, dsn=2.0.0, status=sent (delivered via dovecot service)
Jun 29 08:15:33 mail postfix/smtp[18941]: D803DC04BD: to=<[email protected]>, orig_to=<[email protected]>, relay=gmail-smtp-in.l.google.com[74.125.200.27]:25, delay=1.4, delays=0.01/0/0.87/0.49, dsn=2.0.0, status=sent (250 2.0.0 OK 1467202533 f205si352653oib.152 - gsmtp)
Jun 29 08:15:33 mail postfix/qmgr[9259]: D803DC04BD: removed
2つの異なるSMTP呼び出しと配信があったことに注意してください。ローカルメールボックスへの配信がpostfix管理者でチェックされていることを確認してください。 postfixadmin->仮想リスト->メールボックス->エイリアス画面を参照してください。ローカル受信ボックスチェックに配信する必要があります
上記のチェックボックスをオンにした場合、それは別の問題のセットです。