Zmmsgtrace

Cara Decode Subject Email MIME Header RFC 2047 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 protected]
  Recipient [email protected]
  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 RFC 2047, 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. Install dependensi libencode-hanextra-perl

Ubuntu

apt-get install libencode-hanextra-perl

Centos

yum install perl-Encode-HanExtra

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

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

3. 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);
use Encode::HanExtra;

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

Ubah menjadi seperti berikut

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

5. Simpan dan silakan jalankan kembali zmmsgtrace nya

/opt/zimbra/libexec/zmmsgtrace -s [email protected]

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 protected]
  Recipient [email protected]
  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 protected]
  Recipient [email protected]
  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 uses Akismet to reduce spam. Learn how your comment data is processed.