Selasa, 20 Januari 2009

Relay Zimbra dengan Authentikasi SMTP

Authentikasi SMTP (ISP SMTP Authentication) dibutuhkan jika kita memiliki Zimbra Mail server yang hanya berfungsi sebagai gateway mail server. Artinya, kita tidak memiliki IP publik, jadi mail server yang kita gunakan hanya berfungsi untuk meneruskan (relay) email ke ISP dan mengambil email (collecting) dari inbox di ISP.

Misalnya saya punya domain lokal vavai.co.id dan punya domain publik dengan nama yang sama (vavai.co.id, canonical name dari mail.vavai.co.id). Saya memiliki user dengan nama rivai dan password passwordku di domain publik. Saya ingin agar mail server Zimbra bisa melakukan relay semua email dengan tujuan non domain lokal ke alamat email tujuan hanya dengan mengirimkannya ke alamat mail.vavai.co.id. Bagaimana caranya ?

Sebagian besar SMTP relay memberikan syarat agar kita melakukan authentikasi sebelum menjadikannya sebagai relay host. Setting default Zimbra tidak memberikan pilihan itu, karenanya kita perlu melakukan sedikit tweak.

Berikut adalah langkah-langkah yang perlu dilakukan (ingat, prompt # adalah prompt root, tidak ikut diketik) :

1. Lakukan nslookup untuk mengetahui canonical name dari mail server public
# nslookup mail.vavai.co.id
Non-authoritative answer:
mail.vavai.co.id canonical name = vavai.co.id.
Name: vavai.co.id
Address: 75.126.137.80
2. Masuk ke Zimbra Admin Console (https://hostaddress:7071/zimbraAdmin/)
3. Masuk ke Pilihan Global Setting MTA
4. Berikan isian canonical name pada isian “Relay MTA for external delivery:”. Jika perlu
masukkan portnya (coba dulu tanpa memasukkan port)
5. Buka Konsole, masuk sebagai Admin Zimbra
# su - zimbra
6. Ketikkan perintah berikut (sesuaikan dengan user name dan passwordnya)
# echo mail.vavai.co.id rivai:passwordku > /opt/zimbra/conf/relay_password
7. Buat Postfix lookup table
# postmap /opt/zimbra/conf/relay_password
8. Test, apakah mapping sudah OK
# postmap -q mail.vavai.co.id /opt/zimbra/conf/relay_password
9. Mestinya hasilnya username:password (sesuaikan dengan nama username:password, tampilan saya : rivai:passwordku)
10. Perintahkan Postfix untuk menggunakan SMTP Relay dengan authentikasi
# postconf -e smtp_sasl_password_maps=hash:/opt/zimbra/conf/relay_password
# postconf -e smtp_sasl_auth_enable=yes
11. Restart Postfix
# postfix reload
12. Ujicoba melakukan pengiriman email keluar domain internal. Check pada bagian mail queue di Zimbra Admin

Catatan tambahan :
Jika ada masalah sebagai berikut :

(Authentication failed: cannot SASL authenticate to server …: no mechanism available)

Ini biasanya ada masalah pada mekanisme authentikasi yang digunakan oleh Zimbra. Coba lakukan check mengenai mekanisme authentikasi yang digunakan :
# postconf smtp_sasl_security_options

Jika jawabannya seperti ini :
smtp_sasl_security_options = noplaintext, noanonymous

Ubah agar sasl security membolehkan format plaintext untuk password dengan perintah :
# postconf -e smtp_sasl_security_options=noanonymous
# postfix reload

Semestinya sekarang sudah tidak ada masalah lagi. Coba lakukan test pengiriman email ke luar domain internal.

Jika khawatir soal pemakaian password dalam bentuk plaintext dan ISP tempat relay memiliki kemampuan TLS, silakan pelajari SMTP use TLS.


sumber : zimbra.web.id

Tidak ada komentar: