Terkait dengan penanganan virtual domain pada iRedMail yang menggunakan Postfix sebagai MTA (Mail Transfer Agent), kita dapat melihat pada main.cf pada baris-baris berikut ini:
transport_maps = proxy:mysql:/etc/postfix/mysql/transport_maps_user.cf, proxy:mysql:/etc/postfix/mysql/transport_maps_domain.cf
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql/virtual_mailbox_domains.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql/virtual_mailbox_maps.cf
Penjelasannya adalah sebagai berikut
- transport_maps
Isi pada transport_maps adalah:
proxy:mysql:/etc/postfix/mysql/transport_maps_user.cf, proxy:mysql:/etc/postfix/mysql/transport_maps_domain.cfIsi dari /etc/postfix/mysql/transport_maps_domain.cf adalah:
user = vmail
password = password8sBqJ
hosts = 127.0.0.1
port = 3306
dbname = vmail
query = SELECT transport FROM domain WHERE domain=’%s’ AND active=1Query kita sederhanakan menjadi semua domain menjadi:
SELECT domain, transport FROM domain WHERE active=1Hasilnya:
Setting ini menunjukkan bahwa pengiriman akan diteruskan melalui dovecot. Definisi devocet dapat kita lifat pada master.cf pada baris berikut ini:
# Use dovecot deliver program as LDA.
dovecot unix – n n – – pipe
flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${user}@${domain} -m ${extension} - virtual_mailbox_domains
Setting dari virtual_mailbox_domains adalah:
proxy:mysql:/etc/postfix/mysql/virtual_mailbox_domains.cf .Jika kita melihat isi dari /etc/postfix/mysql/virtual_mailbox_domains.cf adalah sebagai berikut:
user = vmail
password =passordW8sBqJ
hosts = 127.0.0.1
port = 3306
dbname = vmail
query = SELECT domain FROM domain WHERE domain=’%s’ AND backupmx=0 AND active=1 UNION SELECT alias_domain.alias_domain 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=0Kemudian kita masuk ke phpmyadmin dan menjalankan query yang disederhanakan menjadi semua domain (tanpa domain=’%s’):
SELECT domain FROM domain WHERE backupmx=0 AND active=1 UNION SELECT alias_domain.alias_domain FROM alias_domain,domain WHERE alias_domain.active=1 AND alias_domain.target_domain=domain.domain AND domain.active=1 AND domain.backupmx=0Dan hasilnya:
- virtual_mailbox_maps
Setting dari virtual_mailbox_maps adalah:
proxy:mysql:/etc/postfix/mysql/virtual_mailbox_maps.cfJika kita melihat proxy:mysql:/etc/postfix/mysql/virtual_mailbox_maps.cf maka isinya adalah seperti berikut ini:
user = vmail
password = passwordtW8sBqJ
hosts = 127.0.0.1
port = 3306
dbname = vmail
query = SELECT CONCAT(mailbox.storagenode, ‘/’, mailbox.maildir, ‘/Maildir/’) FROM mailbox,domain WHERE mailbox.username=’%s’ AND mailbox.active=1 AND mailbox.enabledeliver=1 AND domain.domain = mailbox.domain AND domain.active=1Query kita sederhanakan menjadi semua user (tanpa username=’%s’, dan kita tambahkan username):
SELECT username, CONCAT(mailbox.storagenode, ‘/’, mailbox.maildir, ‘/Maildir/’) FROM mailbox,domain WHERE mailbox.active=1 AND mailbox.enabledeliver=1 AND domain.domain = mailbox.domain AND domain.active=1Dan hasilnya adalah:
Kunjungi www.proweb.co.id untuk menambah wawasan anda.