Semarang Day #2, Fetchmail & DomainPOP pada Zimbra Mail Server
Salah satu masalah yang dihadapi saat setup Zimbra Mail Server di tempat klien adalah bahwa pihak klien menggunakan relay untuk kirim dan terima email menggunakan account yang ada di mail hosting. Mereka tidak menggunakan model direct mail server dimana email dari dan ke domain kantor ditangani langsung oleh mail server perusahaan.
Untuk keperluan ini, pihak klien mempunyai 1 buah account DomainPOP untuk semua email yang beralamat @namaperusahaan.co.id, misalnya dengan nama all@namaperusahaan.co.id. Nantinya email server di pihak klien digunakan untuk mengambil email yang ada di domainPOP dan kemudian mendistribusikannya ke masing-masing klien. Hal ini yang selama ini terjadi dan dilakukan menggunakan mail server MDaemon.
Atas pertimbangan diatas, saya membuat setting Zimbra persis sama seperti yang dilakukan oleh MDaemon, namun dengan persiapan setting jika beberapa waktu kemudian perusahaan klien memutuskan untuk mendayagunakan IP public static mereka dan menggunakan Zimbra sebagai direct mail server.
Proses setting pengiriman email Zimbra tidak memerlukan setting tambahan. Yang diperlukan adalah setting Fetchmail untuk mengambil email dari mailbox domainPOP dan mendistribusikannya ke masing-masing klien. Berikut adalah langkah-langkahnya :
- Install paket aplikasi fetchmail dengan perintah : zypper in fetchmail. Fetchmail ada pada DVD instalasi openSUSE/SLES.
- Membuat file konfigurasi fetchmail dengan nama .fetchmailrc (jangan lupa ada tanda titik didepan nama file, menunjukkan bahwa file ini merupakan hidden file). File ini dibuat di home folder dari nama user yang digunakan. Jika masuk menggunakan user name root, berarti yang dibuat adalah file /root/.fetchmailrc, sedangkan jika masuk dengan user name vavai, maka file konfigurasi dibuat di /home/vavai/.fetchmailrc. Fetchmail tidak direkomendasikan untuk dijalankan menggunakan account root.
- Contoh isi file .fetchmailrc adalah sebagai berikut :
[code language=’cpp’]
set postmaster “admin@namaperusahaan.co.id”
set no bouncemail
set no spambounce
set logfile /tmp/fetchmail/fetchmail.log
poll namaperusahaan.co.id localdomains namaperusahaan.co.id
timeout 30
envelope “Envelope-to”
user ‘namauserdomainpop’ with pass ‘passworddomainpop’ to * here fetchall
dropdelivered
smtpaddress namaperusahaan.co.id
[/code] - Mengubah permission file menjadi 710 (full akses untuk pemilik, executabel only untuk group) dengan perintah : chmod 710 namafile
- Test Fetchmail dengan perintah pada konsole : fetchmail.
- Setting cron job agar menjalankan fetchmail pada interval tertentu, misalnya tiap 5 menit.
Beberapa literatur yang saya baca menyarankan untuk menggunakan “X-Rcpt-To” pada pilihan envelope di konfigurasi Fetchmail. Envelope adalah opsi yang digunakan oleh Fetchmail untuk melakukan parsing terhadap alamat email tujuan. Penggunaan “X-Rcpt-To” memang sukses untuk email-email domainPOP yang ditujukan ke email account masing-masing, tapi gagal jika melakukan parsing alamat yang ditujukan ke Milis. Perhatikan setting untuk email yang ditujukan ke milis, alamat “to”-nya biasanya ditujukan ke alamat milis, bukan alamat mailbox.
Hal ini bisa diatasi jika menggunakan opsi envelope “Envelope-to” karena opsi ini bisa sukses melakukan parsing alamat email baik email yang ditujukan pada bagian “to”, “cc”, “bcc”, milis maupun email dari hasil forward.
Apakah fetchmail ini mendownload folder sender / kirim juga dari hoasting mail utama ?