Rabu, 03 Desember 2014

Integrasi Zimbra, Fetchmail Dan Gmail (Multi User) - Seri 2

Ini adalah lanjutan dari tutorial sebelumnya. Kali ini kita akan membahas bagaimana agar setiap user Zimbra Server sebagai Email Server Lokal dapat mengirim email ke internet menggunakan akun-akun google yang mereka miliki. Untuk melakukan ini, kita harus melakukan mapping akun lokal ke akun gmail yang digunakan.
Adapun topology yang digunakan masih sama dengan sebelumnya, sedangkan informasi mengenai host zimbra dan akun-akun user adalah sebagai berikut :
domain = cpp-sourcecode.com
hostname = mail.cpp-sourcecode.com, ns1.cpp-sourcecode.com
dns server = local / installed
ip address = 172.16.16.126/97
relayhost = smtp.gmail.com:587

Daftar Akun Lokal / Zimbra yang akan di-mapping ke Akun Gmail :
userLokal@zimbraMailServer.com --> userGmail@gmail.com:passwordGmail
user1Zimbra@cpp-sourcecode.com --> user1Gmail@gmail.com:qwerty123456
user2Zimbra@cpp-sourcecode.com --> user2Gmail@gmail.com:asdfgh123456
user3Zimbra@cpp-sourcecode.com --> user3Gmail@gmail.com:zxcvb123456
user4Zimbra@cpp-sourcecode.com --> user4Gmail@gmail.com:asdfgh56789
user5Zimbra@cpp-sourcecode.com --> user5Gmail@gmail.com:asddfe454456
Edit file main.cf milik Postfix Zimbra dengan mengetikkan perintah berikut ini.

[root@mail ~]# su - zimbra
[zimbra@mail ~]$ zmprov ms mail.cpp-Sourcecode.com zimbraMtaRelayHost smtp.gmail.com:587
[zimbra@mail ~]$ zmprov ms mail.cpp-sourcecode.com +zimbraMtaMyNetworks '192.168.0.0/17 172.16.16.126/224'
[zimbra@mail ~]$ zmprov ms mail.cpp-sourcecode.com zimbraMtaSmtpSaslAuthEnable yes
[zimbra@mail ~]$ zmprov ms mail.cpp-sourcecode.com zimbraMtaSmtpSaslPasswordMaps lmdb:/opt/zimbra/conf/relay_passwd
[zimbra@mail ~]$ zmprov ms mail.cpp-sourcecode.com zimbraMtaSmtpSaslSecurityOptions noanonymous
[zimbra@mail ~]$ zmprov ms mail.cpp-sourcecode.com zimbraMtaSmtpCnameOverridesServername no
[zimbra@mail ~]$ zmprov ms mail.cpp-sourcecode.com zimbraMtaSmtpTlsSecurityLevel may
[zimbra@mail ~]$ postconf -e smtp_tls_CAfile=/opt/zimbra/conf/ca/ca.pem
[zimbra@mail ~]$ postconf -e smtp_use_tls=yes
[zimbra@mail ~]$ postconf -e smtp_sender_dependent_authentication=yes
[zimbra@mail ~]$ postconf -e sender_dependent_relayhost_maps=lmdb:/opt/zimbra/conf/relayhost_maps

Buat file yang memetakan user lokal ke akun user email gmail, yang juga berisikan user name dan password.

[zimbra@mail ~]$ echo user1Zimbra@cpp-sourcecode.com user1Gmail@gmail.com:qwerty123456 > /opt/zimbra/conf/relay_passwd
[zimbra@mail ~]$ echo user2Zimbra@cpp-sourcecode.com user2Gmail@gmail.com:asdfgh123456 >> /opt/zimbra/conf/relay_passwd
[zimbra@mail ~]$ echo user3Zimbra@cpp-sourcecode.com user3Gmail@gmail.com:zxcvb123456 >> /opt/zimbra/conf/relay_passwd
[zimbra@mail ~]$ echo user4Zimbra@cpp-sourcecode.com user4Gmail@gmail.com:asdfgh56789 >> /opt/zimbra/conf/relay_passwd
[zimbra@mail ~]$ echo user5Zimbra@cpp-sourcecode.com user5Gmail@gmail.com:asddfe454456 >> /opt/zimbra/conf/relay_passwd
[zimbra@mail ~]$ cat /opt/zimbra/conf/relay_passwd
user1Zimbra@cpp-sourcecode.com user1Gmail@gmail.com:qwerty123456
user2Zimbra@cpp-sourcecode.com user2Gmail@gmail.com:asdfgh123456
user3Zimbra@cpp-sourcecode.com user3Gmail@gmail.com:zxcvb123456
user4Zimbra@cpp-sourcecode.com user4Gmail@gmail.com:asdfgh56789
user5Zimbra@cpp-sourcecode.com user5Gmail@gmail.com:asddfe454456

Konversi file relay_passwd menjadi file *.lmdb yang akan dibaca oleh postfix.

[zimbra@mail ~]$ postmap /opt/zimbra/conf/relay_passwd

Petakan akun user ke masing-masing smtp :

[zimbra@mail ~]$ echo user1Gmail@gmail.com [smtp.gmail.com]:587 > /opt/zimbra/conf/relayhost_maps
[zimbra@mail ~]$ echo user2Gmail@gmail.com [smtp.gmail.com]:587 >> /opt/zimbra/conf/relayhost_maps
[zimbra@mail ~]$ echo user3Gmail@gmail.com [smtp.gmail.com]:587 >> /opt/zimbra/conf/relayhost_maps
[zimbra@mail ~]$ echo user4Gmail@gmail.com [smtp.gmail.com]:587 >> /opt/zimbra/conf/relayhost_maps
[zimbra@mail ~]$ echo user5Gmail@gmail.com [smtp.gmail.com]:587 >> /opt/zimbra/conf/relayhost_maps
[zimbra@mail ~]$ cat /opt/zimbra/conf/relayhost_maps
user1Gmail@gmail.com [smtp.gmail.com]:587
user2Gmail@gmail.com [smtp.gmail.com]:587
user3Gmail@gmail.com [smtp.gmail.com]:587
user4Gmail@gmail.com [smtp.gmail.com]:587
user5Gmail@gmail.com [smtp.gmail.com]:587

Konversi file relayhost_maps menjadi file *.lmdb yang akan dibaca oleh postfix.

[zimbra@mail ~]$ postmap /opt/zimbra/conf/relayhost_maps

Baiklah, konfigurasi Zimbra agar menggunakan gmail sebagai SMTP Relay dengan multi user telah selesai. Sekarang saatnya untuk mengkonfigurasi Fetchmail agar bisa mengambil email-email seluruh user gmail dan menyimpannya di mailbox masing-masing user zimbra. Ikuti tahapan-tahapan berikut ini.

[zimbra@mail ~]$ vi /etc/fetchmailrc


set syslog
set daemon 300
#set postmaster "admin@cpp-sourcecode.com"
set no bouncemail
set no spambounce
set logfile /tmp/fetchmail/fetchmail.log

poll pop.gmail.com
 with nodns,
 with protocol POP3
 user "user1Gmail@gmail.com" there is user1Zimbra@cpp-sourcecode.com here,
 with password 354313354313
 with ssl, sslcertck;

poll pop.gmail.com
 with nodns,
 with protocol POP3
 user "user2Gmail@gmail.com" there is user2Zimbra@cpp-sourcecode.com here,
 with password 354313354313
 with ssl, sslcertck;

poll pop.gmail.com
 with nodns,
 with protocol POP3
 user "user3Gmail@gmail.com" there is user3Zimbra@cpp-sourcecode.com here,
 with password 354313354313
 with ssl, sslcertck;

poll pop.gmail.com
 with nodns,
 with protocol POP3
 user "user4Gmail@gmail.com" there is user4Zimbra@cpp-sourcecode.com here,
 with password 354313354313
 with ssl, sslcertck;

poll pop.gmail.com
 with nodns,
 with protocol POP3
 user "user5Gmail@gmail.com" there is user5Zimbra@cpp-sourcecode.com here,
 with password 354313354313
 with ssl, sslcertck;

Alhamdulillah, seluruh konfigurasi telah selesai. Silahkan coba mengirim email menggunakan webclient zimbra atau mail client (misal Thunderbird) ke email gmail sendiri dan ke email teman dengan domain mana saja di internet. Jika tidak ada masalah maka anda akan dapat mengirim dan menerima email dari dan ke internet menggunakan akun gmail masing-masing user yang telah di-mapping. Jika autentikasi postfix ke gmail gagal, cobalah untuk menurunkan level security akun gmail anda menjadi "access for less secure -> enabled".
Demikian tutorial ini, mudah-mudahan bermanfaat. Sampai jumpa di artikel selanjutnya. :D.

2 komentar:

  1. masih belum paham..
    bagaimana cara sync user email .com ke local zimbra ya ?

    create satu2 kah ? info pls..

    BalasHapus
    Balasan
    1. Buat dulu user2 zimbra yang akan di mapping ke user2 email internet (reguler email server). Nanti zimbra akan membuat mailbox untuk user2 tersebut.
      Kemudian konfigurasi fetchmail seperti diatas, nanti otomatis fetchmail akan menempatkan email2 user dari email server internet ke mailbox local masing2 user zimbra tersebut.

      Tapi perlu diingat, dari sumber yang saya baca bahwa mengkonfigurasi postfix zimbra dengan menuliskan secara langsung (postconf) parameter2 konfig ke file2 konfigurasi postfix (main.cf) seperti diatas sifatnya hanya sementara, artinya ketika server zimbra di restart maka file2 konfigurasi tersebut akan kembali seperti semula / di-override dengan konfigurasi terakhir yg menggunakan perintah "zmprov ...". Perintah yang harus digunakan adalah "zmprov..." agar file2 konfigurasi postfix zimbra yg tlh di rubah sifatnya permanen.

      Saya menulis tutorial ini adalah hanya sebagai pengingat saja, jika suatu saat saya benar2 ingin menerapkan zimbra sebagai Intermediate Email Server, maka saya harus memperbaiki langkah2 diatas.

      Terima kasih telah berkunjung. :D

      Hapus