Zmmsgtrace

Cara Decode Subject Email UTF-8 pada Log Zimbra

Posted by

Salah satu item dalam melakukan improvement Zimbra Mail Server yaitu menampilkan informasi subject pada zimbra.log, karena by default pada zimbra.log tidak menampilkan informasi subject. Untuk menampilkan informasi subject tersebut, bisa dilihat pada referensi berikut :

Menggunakan referensi diatas akhirnya informasi subject bisa muncul pada log dan pada saat menggunakan tools zmmsgtrace. Namun setelah digunakan cukup lama, saya melihat sepertinya ada sedikit hal yang kurang dari hasil zmmsgtrace tersebut, yaitu dibagian subject email, ada beberapa email dengan keterangan subject seperti contoh berikut

Message ID '010001774bebe52a-16aee02a-fb88-4b91-94df-fe1649389fb6-000000@email.amazonses.com'
Subject '=?UTF-8?B?UGVtYmF5YXJhbiBUZWxhaCBEaXRlcmltYQ==?='
010001774bebe52a-16aee02a-fb88-4b91-94df-fe1649389fb6-000000@amazonses.com -->
	email@domain.com
  Recipient email@domain.com
  Jan 29 09:14:57 - a48-153.smtp-out.amazonses.com (54.240.48.153) --> host.domain.com:7025 (10.184.0.2:7025) status sent

Pada hasil diatas, keterangan subject masih dalam bentuk encoding Mime Header dengan UTF-8, dan dicek langsung dari zimbra.log, keterangan subject nya pun juga seperti itu. Tapi kalau dicek langsung dari webmail atau email client, subject dari email tersebut terbaca dengan normal.

Beberapa referensi menginformasikan hal tersebut terjadi karena dari sisi aplikasi pengirim email seperti melakukan semacam encoding, atau bisa juga biasanya dari email-email promosi, dan oleh engine MTA di server penerima tidak bisa melakukan decoding kembali sehingga yang muncul hanya keterangan subject dalam bentuk encoding tersebut karena proses Encoding dan Decoding dilakukan disisi webmail/email client end user. Agar zmmsgtrace bisa membaca subject dengan model encoding seperti itu dari raw log, berikut langkah-langkah nya

Baca Juga : Mengatasi DDOS Virus Trojan (As a Unix Service) pada Ubuntu

1. Backup /opt/zimbra/libexec/zmmsgtrace ke directory yang aman

cp /opt/zimbra/libexec/zmmsgtrace /srv/

2. Edit file /opt/zimbra/libexec/zmmsgtrace, cari baris tulisan use Time::localtime qw(localtime);

Lalu tambahkan baris berikut dibawah tulisan tadi

use open qw(:std :utf8);
use Encode qw(decode);

3. Selanjutnya cari baris tulisan $obj->{subject} = $1;

Ubah menjadi seperti berikut

$obj->{subject} = decode("MIME-Header", $1);

4. Simpan dan silakan jalankan kembali zmmsgtrace nya

/opt/zimbra/libexec/zmmsgtrace -s email@domain.com

Berikut perbandingannya, sebelum dikonfigurasi untuk decoding

Message ID '010001774bebe52a-16aee02a-fb88-4b91-94df-fe1649389fb6-000000@email.amazonses.com'
Subject '=?UTF-8?B?UGVtYmF5YXJhbiBUZWxhaCBEaXRlcmltYQ==?='
010001774bebe52a-16aee02a-fb88-4b91-94df-fe1649389fb6-000000@amazonses.com -->
	email@domain.com
  Recipient email@domain.com
  Jan 29 09:14:57 - a48-153.smtp-out.amazonses.com (54.240.48.153) --> host.domain.com:7025 (10.184.0.2:7025) status sent

Sesudah dikonfigurasi untuk decoding

Message ID '010001774bebe52a-16aee02a-fb88-4b91-94df-fe1649389fb6-000000@email.amazonses.com'
Subject 'Pembayaran Telah Diterima'
010001774bebe52a-16aee02a-fb88-4b91-94df-fe1649389fb6-000000@amazonses.com -->
	email@domain.com
  Recipient email@domain.com
  Jan 29 09:14:57 - a48-153.smtp-out.amazonses.com (54.240.48.153) --> host.domain.com:6625 (10.184.0.2:6625) status sent

Mungkin cukup sekian tutorial kali ini, jika ada kendala, jangan sungkan untuk menginformasikannya pada kolom komentar dibawah. Terima kasih.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

This site uses Akismet to reduce spam. Learn how your comment data is processed.