배워서 남주자/Service 구성
[postfix & mariadb] E-Mail 도메인 포워딩
메그넘
2019. 1. 22. 17:00
Postfix로 두개의 도메인( 예, a.com & b.com)을 이용하여 메일 서비스를 사용할 경우
각각의 도메인으로 도착하는 메일을 한쪽의 메일 계정으로 확인하고자 할경우 Virtual_alias_domains 와 Virtual_alias_maps 설정으로 이용할 수 있다.
설정하는 방법은 postfix의 설정파일(main.cf & virtual)을 수정하는 방법과 DB를 이용하여 서비스를 구성하는 방법이 있다.
[방법 1] - 설정파일 편집하여 사용하기
● /etc/postfix/main.cf 수정
virtual_mailbox_domains = a.com
virtual_alias_maps = hash:/etc/postfix/virtual
● /etc/postfix/virtual 수정
# I want @a.com to have two incoming aliases
@a.com @b.com
이렇게 설정하면 a.com 으로 오는 모든 메일은 b.com 도메인의 동일한 계정 전달된다.
이 방법은 설정이 간단하여 바로 이용할 수 있으나, 매번 설정 후 엔진을 재실행해야 한다.
포워딩 도메인이 여러개일 경우 virtual_mailbox_domains = a.com 도메인1 도메인2
이렇게 증가시키면 된다. /etc/postfix/virtual 파일에 @로 라인을 증가시킨다.
[방법 2] - DB와 연계하여 사용하기
● /etc/postfix/main.cf 수정
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql/virtual_mailbox_domains.cf
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql/virtual_alias_maps.cf
● /etc/postfix/mysql/virtual_mailbox_domains.cf
hosts = 127.0.0.1:3306
user = DB계정
password = DB패스워드
dbname = DB이름
query = SELECT domain FROM domain WHERE domain='%s' AND backupmx=0 AND active=1 UNION SELECT alias_domain.alias_doma
in FROM alias_domain,domain WHERE alias_domain.alias_domain='%s' AND alias_domain.active=1 AND alias_domain.target_domain=
domain.domain AND domain.active=1 AND domain.backupmx=0
● /etc/postfix/mysql/virtual_alias_maps.cf
hosts = 127.0.0.1:3306
user = DB계정
password = DB패스워드
dbname = DB이름
query = SELECT forwardings.forwarding FROM forwardings,domain WHERE forwardings.address='%s' AND forwardings.domain=
domain.domain AND forwardings.active=1 AND domain.backupmx=0 AND domain.active=1
● DB(vmail) - TABLE
[domain]
domain/description/disclaimer/aliases/mailboxes/maillists/maxquota/quota/transport/backupmx/settings/created/modified/expired/active
a.com/0/0/0/0/0/dovecot/0/default_user_quota:1024;/2018-04-30 11:19:10/1970-01-01 01:01:01/9999-12-31/00:00:00/1b.com/0/0/0/0/0/dovecot/0/ /1970-01-01 01:01:01/1970-01-01 01:01:01/9999-12-31/00:00:00/1
[alias_domain]
alias_domain/target_domain/created/modified/active
a.com/b.com/
1970-01-01 01:01:01/1970-01-01 01:01:01/1
[forwardings]
address/forwarding/domain/dest_domain/is_maillist/is_list/is_forwarding/is_alias/active
@a.com/@b.com/a.com/b.com/0/0/0/0/1