Cara Mengubah Limit Pengiriman Email Per Hari di DirectAdmin Menggunakan Skrip Bash

Dalam pengelolaan server hosting berbasis DirectAdmin, salah satu aspek penting yang sering perlu disesuaikan adalah batas (limit) pengiriman email per akun. Secara default, DirectAdmin menetapkan batas jumlah email yang dapat dikirimkan oleh setiap akun per hari. Namun, dalam beberapa kasus — seperti kebutuhan pengiriman newsletter, notifikasi sistem, atau transaksi otomatis — batas ini perlu ditingkatkan agar tidak menghambat operasional.

Masalah yang sering muncul adalah ketika akun-akun email lama masih tersetel dengan limit rendah, seperti 200 email per hari, sementara Anda ingin menetapkan limit yang lebih tinggi, misalnya 2400 email per hari, untuk semua akun dalam satu server. Mengubahnya secara manual satu per satu tentu sangat memakan waktu, terutama jika jumlah domain dan akun cukup banyak.

Untuk itu, dalam artikel ini kami akan membahas cara mengotomatisasi perubahan limit email harian menggunakan skrip Bash, sehingga Anda dapat melakukan pembaruan massal dengan cepat dan efisien langsung dari server Anda.

Persyaratan Awal

Sebelum mulai, pastikan:

  • Anda memiliki akses root ke server.

  • Struktur direktori email berada di /etc/virtual/, yang merupakan default pada server DirectAdmin.

  • Setiap akun email memiliki file limit di dalam folder domainnya (misalnya: /etc/virtual/domain.com/user/limit atau /etc/virtual/domain.com/limit).


Langkah 1: Buat Skrip Bash

  • Login ke server Anda via SSH.

  • Buat file skrip:

nano update-email-limit.sh

 

  • Salin skrip berikut ke dalam file tersebut:

#!/bin/bash

# Nilai limit baru yang diinginkan
NEW_LIMIT=2400

# Direktori utama email virtual
VIRTUAL_DIR="/etc/virtual"

# Loop ke semua domain
for domain in "$VIRTUAL_DIR"/*; do
    [ -d "$domain" ] || continue
    echo "🔧 Memproses domain: $(basename "$domain")"

    # Ubah file limit utama domain jika ada
    if [ -f "$domain/limit" ]; then
        echo "$NEW_LIMIT" > "$domain/limit"
        echo "   $domain/limit diperbarui"
    fi

    # Ubah limit di setiap akun email dalam domain
    for user in "$domain"/*; do
        [ -d "$user" ] || continue
        if [ -f "$user/limit" ]; then
            echo "$NEW_LIMIT" > "$user/limit"
            echo "   $user/limit diperbarui"
        fi
    done
done

echo "🎉 Semua limit email telah berhasil diperbarui menjadi $NEW_LIMIT per hari."

 


Langkah 2: Simpan dan Jalankan Skrip

  • Simpan file (di nano, tekan CTRL+O, lalu ENTER, lalu CTRL+X).
  • Beri izin eksekusi:
chmod +x update-email-limit.sh
  • Jalankan skrip:
sudo ./update-email-limit.sh

 


Hasil

Skrip akan menelusuri semua domain di /etc/virtual/, lalu mengganti isi file limit di setiap akun dan domain menjadi 2400. Setiap perubahan akan ditampilkan di terminal secara real-time.


 Catatan Penting

  • Backup dahulu direktori /etc/virtual/ sebelum menjalankan skrip.

  • Pastikan tidak ada akun yang memang sengaja dibatasi agar tidak ikut terkena update.

  • Ini hanya mengatur limit per hari, karena DirectAdmin secara default tidak menyediakan pengaturan per jam (perlu konfigurasi Exim khusus jika ingin itu).


Penutup

Dengan skrip Bash sederhana ini, Anda bisa menghemat banyak waktu dan tenaga dalam mengelola limit email harian di server DirectAdmin. Ini sangat berguna terutama bagi administrator yang menangani puluhan hingga ratusan akun email di satu server.

Jika Anda ingin mengatur limit per jam, atau menambahkan sistem pemantauan otomatis, Anda bisa mengembangkan skrip ini lebih lanjut atau menggunakan konfigurasi lanjutan di Exim.

Author Details

admin dari seorang yang terus belajar dan mencatat pengalaman ,semoga berguna untuk yang lain 🙂

Author photo
Publication date:
Author: Mr ZAMI