Selasa, 02 Desember 2014

Integrasi Zimbra, Fetchmail Dan Gmail (Single User) - Seri 1

Sebenarnya tutorial ini memiliki keterkaitan dengan tutorial saya sebelumnya yaitu :
  1. Membangun Intermediate Mail Server Berbasis Ubuntu 14.04 
  2. Monitoring Koneksi Internet Menggunakan Mikrotik Dan Ubuntu 10.04 Sebagai SMTP Relay 
Keterkaitannya adalah, masing-masing artikel tersebut sebenarnya memiliki tahapan pembuatan Intermediate Email Server (IES) menggunakan postfix, fetchmail dan dovecot. Nah kali ini saya juga akan membangun sebuah Intermediate Email Server (IES) menggunakan Zimbra 8.5.1. Zimbra adalah sebuah Email Server yang berjalan diatas platform linux. Zimbra juga termasuk Open Source Software. Pada platform windows, Zimbra ini ibaratkan Microsoft Exchange Server. Dengan menggunakan Zimbra, kita tidak perlu secara terpisah menginstall Postfix sebagai MTA, WebMail Client (Misal Squirrelmail), LDAP Server, Anti Spam, Anti Virus, dll. Di dalam Zimbra sudah include berbagai macam aplikasi yang dibutuhkan untuk keperluan email maupun kolaborasi.

Baiklah, tidak panjang lebar. Kita kembali pada artikel kali ini "Integrasi Zimbra, Fecthmail Dan Gmail (Single User)". Topology yang saya gunakan adalah seperti gambar dibawah ini.


Intermediate Email Server menggunakan Zimbra dan Fetchmail. Ini adalah SMTP Gateway bagi client-client di jaringan lokal yang akan diwakili oleh subnet 192.168.0.0/17. Sedangkan smtp.gmail.com akan menjadi SMTP Gateway bagi IES untuk berkomunikasi di dalam jaringan public. Kita bebas memiliki akun sebanyak-banyaknya di IES, sesuai dengan resource yang dimiliki oleh IES tersebut, namun untuk mengirim email keluar / ke jaringan public, maka akun-akun tersebut akan diwakili oleh satu akun, yaitu akun gmail yang telah ditentukan dan di entri kedalam konfigurasi Zimbra (misal : userIES@gmail.com). Jadi siapapun didalam jaringan lokal yang mengirim ke email di jaringan publik, maka penerima email hanya akan mendapatkan pengirim nya adalah dari "userIES@gmail.com". Lalu bagaimana seandainya kita menginginkan setiap User Lokal yang mengirim email ke jaringan public bisa menggunakan akun-akun yang berbeda yang dikenal di internet ?. Dalam hal ini kita perlu melakukan mapping Akun User Lokal terhadap Akun -akun yang terdapat di jaringan public yang kita miliki. Namun hal ini akan saya bahas Insya Allah di tutorial berikutnya (Multi User).
Ok, cukup sudah penjelasan yang panjang lebar ini. Langsung saja kita mulai tahapan-tahapan yang harus dilakukan. Disini Host Zimbra 8.5.1 yang saya gunakan memiliki settingan seperti berikut ini :
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 (akun = iesGW@gmail.com)
Saya anggap anda sudah meng-install Zimbra 8.5.1. Saya sendiri telah menginstall Zimbra 8.5.1 diatas mesin Linux CentOS 6.6 x64. Saat menginstall Zimbra, anda jangan mengikut sertakan DNS-Cache sebagai fitur yang akan diinstall, karena kita akan menginstall DNS Server pada Host Zimbra itu sendiri. Jika anda tetap menginstall DNS-Cache Zimbra, maka ini bisa mengakibatkan Port Conflict (53).
Pertama-tama login ke Zimbra Console :

[root@mail ~]# su - zimbra
[zimbra@mail ~]$ 

Arahkan Zimbra 8.5.1 agar menggunakan smtp.gmail.com sebagai Relayhost untuk mengirim email ke internet.

[zimbra@mail ~]$ zmprov ms mail.cpp-Sourcecode.com zimbraMtaRelayHost smtp.gmail.com:587
[zimbra@mail ~]$ zmprov gs mail.cpp-sourcecode.com zimbraMtaRelayHost 
# name mail.cpp-sourcecode.com zimbra
smtp.gmail.com:587 

Entri Network yang diperbolehkan untuk mengakses Zimbra Server :

[zimbra@mail ~]$ zmprov ms mail.cpp-sourcecode.com +zimbraMtaMyNetworks '192.168.0.0/17 172.16.16.126/224'

Buat file yang berisi User Name dan Password dari akun gmail yang kita gunakan untuk mengakses SMTP Google.

[zimbra@mail ~]$ echo smtp.gmail.com iesGW@gmail.com:passwordAkun > /opt/zimbra/conf/relay_passwd
[zimbra@mail ~]$ postmap /opt/zimbra/conf/relay_passwd
[zimbra@mail ~]$ postmap -q smtp.gmail.com /opt/zimbra/conf/relay_passwd
iesGW@gmail.com:passwordAkun

Setelah ok kita lanjutkan dengan melakukan konfigurasi postfix zimbra. Disini saya yang menggunakan Zimbra 8.5.1, jika anda menggunakan zimbra versi 8.0 atau lebih lama, maka perintah nya akan berbeda, silahkan merujuk ke http://wiki.zimbra.com/wiki/Outgoing_SMTP_Authentication.

Konfigurasi postfix untuk menggunakan password map yang baru, SSL Authentication, outgoing servername dari pada canonical servername, TLS Enabled, mekanisme autentikasi postfix.

[zimbra@mail ~]$ zmprov ms mail.cpp-sourcecode.com zimbraMtaSmtpSaslPasswordMaps lmdb:/opt/zimbra/conf/relay_passwd 
[zimbra@mail ~]$ zmprov ms mail.cpp-sourcecode.com zimbraMtaSmtpSaslAuthEnable yes
[zimbra@mail ~]$ zmprov ms mail.cpp-sourcecode.com zimbraMtaSmtpCnameOverridesServername no
[zimbra@mail ~]$ zmprov ms mail.cpp-sourcecode.com zimbraMtaSmtpTlsSecurityLevel may
[zimbra@mail ~]$ zmprov ms mail.cpp-sourcecode.com zimbraMtaSmtpSaslSecurityOptions noanonymous

Terakhir silahkan cek semua hasil konfigurasi postfix zimbra apakah sudah benar sesuai dengan yang kita ketikkan diatas.

[zimbra@mail ~]$ cat /opt/zimbra/postfix/conf/main.cf | grep 'smtp_sasl'
smtp_sasl_security_options = noanonymous
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = lmdb:/opt/zimbra/conf/relay_passwd
smtp_sasl_mechanism_filter = 

[zimbra@mail ~]$ postconf smtp_cname_overrides_servername
smtp_cname_overrides_servername = no

[zimbra@mail ~]$ postconf smtp_tls_security_level        
smtp_tls_security_level = may

Silahkan tes dengan mengirim email ke akun-akun teman anda di internet dengan cara login ke web client zimbra dan login menggunakan akun lokal siapa saja, kemudian silahkan kirim email ke teman anda (yahoo, hotmail, gmail, dsb). Setiap pengiriman email ke internet from-nya akan berasal dari "iesGW@gmail.com", namun Display Name nya tergantung dari user lokal yang mengirim. Misal email lokal yang mengirim ke internet adalah "User 1 <user1@cpp-sourcecode.com>", maka penerima email akan mendapatkan from-nya : "User 1 <iesgw@gmail.com>", karena di Zimbra Server, Display Name dari "user1@cpp-sourcecode.com" adalah "User 1". Kalau akun email lokal yang mengirim adalah "admin zimbra <admin@cpp-sourcecode.com>" maka penerima email akan menerima from-nya "admin zimbra <iesGW@gmail.com>", karena pada email server lokal Display Name dari akun "admin@cpp-sourcecode.com" adalah “admin zimbra”.
Oke, sampai disini dulu tutorial kali ini. Insya Allah pada tutorial berikutnya kita akan membahas tentang konfigurasi zimbra - gmail untuk Multi User.

3 komentar:

  1. Dari sekian banyak tutorial yg ane temukan di google hanya tutorial agan nih yang paling mudah untuk di ikuti...kebetulan ane udah coba tutorial agan yg ini nih dan sukses gan,sekarang ane udah bisa kirim email pake zimbra menggunakan host smtp dari email hosting web...cuma sekarang gimana nih gan agar bisa multi user dan konfigurasi fetchmailnya bagaimana ??

    BalasHapus
  2. Makasih gan udah berkunjung.
    Utk yg multi user sudah ada juga tutorialnya sy post. Silahkan cari di menu Jaringan. Cuma itu blm final, krn hasilnya tdk permanen.

    BalasHapus
  3. makasih gan udah ketemu dan udah di coba juga hasilnya sukses gan..cuma ane mau nanya gan..kalo udah diset seperti itu maksudnya menggunakan smtp gmail untuk mengirim email nah nanti incoming emailnya bisa direct kezimbra gak gan ??? maksudnya dari luar kirim email ke email server zimbra bisa langsung tanpa harus mampir ke gmail

    BalasHapus