Kadang sebelum melakukan ujicoba migrasi email server, kita butuh data real di dalam mailbox, bukan cuma folder kosong. Nah, salah satu trik yang bisa dipakai adalah dengan mengisi setiap akun dengan email dummy secara otomatis.
Saya bikin sebuah script bash yang bisa menjalankan tugas ini: ambil semua akun dari zmprov, lalu setiap hari akan mengirim email otomatis dengan target sekitar 100 email per akun. Dengan begitu, mailbox punya isi yang cukup, dan saat migrasi kita bisa lihat apakah data benar-benar terbawa.
Script bisa di download dengan perintah berikut:wget -c https://raw.githubusercontent.com/afatyoo/script-master/refs/heads/main/Send-email-daily-carbonio.sh
Bagaimana Script Ini Bekerja?
Ambil daftar akun
Script menggunakan perintah:
su - zextras -c "zmprov -l gaa"
Semua akun ditarik, lalu disaring agar tidak termasuk akun khusus seperti spam
, ham
, virus
, atau galsync
.
Hitung target harian
- Default target = 100 email per akun/hari
- Script jalan tiap jam lewat cron job
- Hitung berapa email yang masih perlu dikirim di sisa jam hari ini
Kirim email dengan Swaks
swaks
dipakai sebagai SMTP client ringan- Subjek email akan berisi urutan ke berapa (misalnya: Test message 12 of 100 for user@domain)
- Isi email juga sederhana, hanya pesan dummy dengan detail akun & tanggal
State tracking
- Script simpan progress di file
/var/tmp/carbonio_email_counts_YYYY-MM-DD.db
- Jadi kalau script jalan lagi (tiap jam), dia tahu sudah berapa email terkirim, lalu melanjutkan sisanya
- Tidak akan pernah lebih dari target (misal 100/hari)
Logging
- Semua aktivitas disimpan ke
/var/log/carbonio_send_from_zmprov.log
- Jadi gampang dicek kalau ada error
Contoh Cron Job
Agar script ini jalan otomatis tiap jam:
0 * * * * /root/send_daily_emails_from_zmprov.sh
Artinya, setiap jam script akan mengecek dan mengirim batch email sesuai sisa target harian.
Kapan Script Ini Berguna?
- Testing sebelum ujicoba migrasi → mailbox punya isi data dummy, jadi saat migrasi bisa dites apakah email ikut terbawa.
- Load testing server → lihat apakah MTA & filter bisa handle volume email harian.
- Simulasi environment real → mirip kondisi produksi, akun user punya banyak email masuk.
Catatan Penting
- Pastikan
swaks
sudah terinstall (apt install swaks
). - Gunakan domain & alamat pengirim yang valid (
DOMAIN_FROM
di script bisa diganti sesuai kebutuhan). - Jangan lupa, ini hanya untuk uji coba internal. Jangan dipakai untuk spam real ke luar server.
Perlu dicatat, script ini dibuat khusus untuk uji coba saja, terutama jika teman-teman ingin melakukan simulasi migrasi dengan data akun yang sudah ada. Jadi, jangan dipakai di lingkungan produksi sehari-hari, melainkan cukup sebagai bagian dari testing atau proof of concept sebelum migrasi sebenarnya dilakukan.