ドメイン名「olddomain.com」を使用するように構成されたMySQLバックエンドでPostfix/Dovecotを実行しているサーバーがあります。別のドメイン「newdomain.com」を使用するようにすべてを移行しています。Postfix/ Dovecot/Postfixadminもすべて移行する必要があります。ただし、しばらくの間、両方のドメイン名をサポートする必要があり、これはユーザーに対して透過的である必要があります。 「[email protected]」に送信される電子メールは「[email protected]」に到着する必要があり、ユーザーは「[email protected]」および「username @ newdomain」でログインできる必要があります(Postfixadmin/Dovecot) .com 'など.
名前付きのユースケースをサポートするためにこれを行う方法がわからないので、助けていただければ幸いです。
関連する構成のもの:
postconf -n
command_directory =/usr/sbin config_directory =/etc/postfix daemon_directory =/usr/libexec/postfix 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 dovecot_destination_recipient_limit = 1 html_directory = no mail_owner = postfix mail_spool_directory = /var/spool/mail mailq_path = /usr/bin/mailq manpage_directory = /usr/share/man mynetworks_style = Host newaliases_path =/usr/bin/newaliases queue_directory= /var/spool/postfix readme_directory = no relay_domains = mysql:/etc/postfix/mysql_relay_domain_maps.cf relayhost = ******* sample_directory = /etc/postfix sendmail_path = /usr/sbin/sendmail setgid_group = postdrop smtpd_recipient_restrictions = permit_sasl_authenticated、permit_mynetworks、reject_u nauth_destination [。 .cf virtual_mailbox_domains = mysql:/etc/postfix/sql_virtual_domain_maps.cf virtual_mailbox_maps = mysql:/etc/postfix/sql_virtual_mailbox_maps.cf virtual_transport = dovecot [.____]
sql_virtual_mailbox_maps.cf:
password = **** hosts = localhost dbname = pf_adm query = SELECT CONCAT(maildir、 'Maildir /')AS maildir FROM namespace WHERE username = '%s' AND active = '1'
sql_virtual_domain_maps.cf:
user = **** password = **** hosts = localhost dbname = pf_adm query = SELECT domain FROM domain WHERE domain = '%s' AND backupmx = '0' AND active = '1'
sql_virtual_alias_maps.cf:
user = **** password = **** hosts = localhost dbname = pf_adm query = SELECT goto FROM alias WHERE address = '%s' AND active = '1'
doveconf -n
#2.1.9:/etc/dovecot/dovecot.conf #OS:Linux3.4.5-強化されたi686Gentoo BaseSystemリリース2.1ext4 auth_verbose = yes first_valid_gid = 12 first_valid_uid = 8 last_valid_gid = 12 last_valid_uid = 8 mail_gid = 12 mail_location = maildir:/ var/mail /%d/%n/Maildir/:INDEX=/var/mail/%d/%n/indexes mail_uid = 8 namespace inbox { inbox = yes location = メールボックスドラフト{ special_use =\Drafts } メールボックスジャンク{ special_use =\Junk } メールボックス送信{ special_use =\Sent } メールボックス "送信済みメッセージ" { special_use =\Sent } メールボックスのゴミ箱{ special_use =\Trash } プレフィックス= } passdb { args = /etc/dovecot/dovecot-sql.conf.ext driver= sql } postmaster_address = [email protected] protocols = imap service auth { unix_listener/var/spool/postfix/private/auth{ group= postfix mode = 0660 user = postfix } unix_listener auth-userdb { group = mail mode = 0600 user = mail } } ssl_cert =
ボーナス情報(必要な場合)、ユーザーは次のように保存されます: + --------------------- --- + ------------------------- + ------------ + ------- -------- + |ユーザー名| maildir | local_part |ドメイン| + ------------------------ + ----------------- -------- + ------------ + --------------- + | [email protected] | olddomain.com/username/ |ユーザー名| olddomain.com | + ------------------------ + --------------- ---------- + ------------ + --------------- +
すべてのアドレスに完全なドメイン名を永続的に要求することは、ここの裏側であなたを悩ませています。
持っているのは1つのドメインだけなので、実際には必要ありません。したがって、簡単な解決策は、SQLルックアップを変更してローカルパーツのみに作用するようにすることです。
新しいドメインをvirtual_mailbox_domainsに追加し、virtual_mailbox_mapsでローカルパーツルックアップのみを実行します。
ドメインとその中のすべてのユーザーの両方が受け入れられ、配信されます。
Virtual_mailbox_domainsに複雑なクエリを使用しても、役に立たない可能性があります。
virtual_mailbox-domainsにドメインをリストするだけです:
virtual_mailbox_domains = olddomain, newdomain