Pada infrastruktur Carbonio, batas ukuran attachment email tidak ditentukan oleh satu konfigurasi saja.
Ada beberapa faktor penting yang saling berkaitan, mulai dari proses encoding email, konfigurasi Postfix, hingga batasan server penerima email.
Panduan ini menjelaskan konsep dasar, hal yang perlu diperhatikan, dan langkah konfigurasi yang aman untuk mengubah ukuran attachment di Carbonio.
Hal yang Perlu Dipahami Sebelum Mengubah Limit
1. MIME Encoding dan Ukuran Attachment
Email pada awalnya hanya dirancang untuk mengirim teks, bukan file biner.
Agar file (PDF, ZIP, gambar, dll) bisa dikirim lewat SMTP, digunakan mekanisme MIME encoding.
Efek dari MIME encoding:
- Ukuran file akan membesar
- Rata-rata ukuran akhir menjadi ±137% dari ukuran asli
Contoh:
- File di komputer: 10 MB
- Ukuran saat dikirim via email: ±13.7 MB
👉 Ini wajib diperhitungkan saat menentukan limit attachment.
2. Postfix (MTA di Carbonio)
Carbonio menggunakan Postfix sebagai Mail Transfer Agent (MTA).
Secara default:
message_size_limit= 10 MB (10240000 bytes)- Postfix butuh ruang disk 1.5x dari message_size_limit
Artinya:
- Jika limit = 10 MB
- Postfix butuh minimal 15 MB free space
⚠️ Kalau disk tidak cukup, email akan ditolak, meskipun ukurannya masih di bawah limit.
3. Batasan Server Email Tujuan
Walaupun Carbonio kamu mengizinkan attachment besar (misalnya 50 MB):
- Server email tujuan (Gmail, Outlook, dll) bisa punya limit lebih kecil
- Email bisa reject di sisi penerima
📌 Best practice umum:
Jangan set attachment lebih dari 20 MB untuk email internet.
Prosedur Konfigurasi
Step 1 — Audit Konfigurasi Saat Ini
Jalankan di semua node MTA sebagai user zextras:
carbonio prov gcf zimbraMtaMaxMessageSizecarbonio prov gcf zimbraFileUploadMaxSizecarbonio prov gcf zimbraMailContentMaxSizecarbonio prov gs `zmhostname` zimbraFileUploadMaxSizecarbonio prov gs `zmhostname` zimbraMailContentMaxSizepostconf message_size_limit
Penjelasan singkat:
gcf→ konfigurasi globalgs→ konfigurasi per server/nodepostconf→ cek limit di Postfix
Step 2 — Mengatur Limit Baru
A. Konfigurasi Global
Jalankan di salah satu MTA node sebagai user zextras:
carbonio prov modifyConfig zimbraMtaMaxMessageSize 20480000carbonio prov modifyConfig zimbraFileUploadMaxSize 20480000carbonio prov modifyConfig zimbraMailContentMaxSize 20480000
📌 20480000 bytes ≈ 20 MB
B. Konfigurasi Per Node
Jalankan di semua MTA node sebagai user zextras:
carbonio prov ms `zmhostname` zimbraFileUploadMaxSize 20480000carbonio prov ms `zmhostname` zimbraMailContentMaxSize 20480000
Ini penting untuk memastikan tidak ada perbedaan limit antar node.
Step 3 — Verifikasi Perubahan
Cek ulang di semua MTA node:
carbonio prov gcf zimbraMtaMaxMessageSizecarbonio prov gcf zimbraFileUploadMaxSizecarbonio prov gcf zimbraMailContentMaxSizecarbonio prov gs `zmhostname` zimbraFileUploadMaxSizecarbonio prov gs `zmhostname` zimbraMailContentMaxSizepostconf message_size_limitcarbonio prov gacf | grep -i fileupload
Pastikan semua nilai sudah sesuai dengan yang dikonfigurasi.
Step 4 — Terapkan Perubahan
Restart layanan MTA (di semua MTA node):
postfix reloadzmmtactl restart
Restart mailbox service (di semua Appserver):
zmmailboxdctl restart
Catatan Penting
- Jangan lupa faktor MIME encoding (file membesar saat dikirim)
- Pastikan disk space MTA cukup
- Untuk email ke internet, 20 MB adalah nilai aman
- Untuk internal email saja, limit bisa lebih besar (dengan risiko ditanggung internal)