Konfigurasi SMTP

NxGate menggunakan SMTP untuk mengirim email verifikasi akun dan reset password. Konfigurasi SMTP diperlukan agar fitur registrasi dan pemulihan kata sandi berfungsi dengan benar.

Environment Variables

Tambahkan variabel berikut pada file .env:

.env
1## Konfigurasi SMTP di file .env
2SMTP_HOST=mail.example.com
3SMTP_PORT=465
4SMTP_USERNAME=nxgate@example.com
5SMTP_PASSWORD=your-smtp-password
6SMTP_SENDER=NxGate <nxgate@example.com>
VariabelKeteranganWajib
SMTP_HOSTHostname SMTP serverYa
SMTP_PORT465 (SSL) atau 587 (STARTTLS)Ya
SMTP_USERNAMEUsername/email login SMTPYa
SMTP_PASSWORDPassword SMTPYa
SMTP_SENDERNama dan email pengirim (format: "Nama <email>")Ya

Contoh Konfigurasi per Provider

Gmail

.env
1## Untuk Gmail, gunakan App Password (bukan password akun biasa)
2## Aktifkan 2FA di akun Google, lalu buat App Password di:
3## myaccount.google.com/apppasswords
4SMTP_HOST=smtp.gmail.com
5SMTP_PORT=465
6SMTP_USERNAME=your-gmail@gmail.com
7SMTP_PASSWORD=xxxx-xxxx-xxxx-xxxx # App Password 16 karakter
8SMTP_SENDER=NxGate <your-gmail@gmail.com>

SendGrid

.env
1## SendGrid (SMTP relay)
2SMTP_HOST=smtp.sendgrid.net
3SMTP_PORT=465
4SMTP_USERNAME=apikey
5SMTP_PASSWORD=SG.xxxxxxxxxxxxxxxxxxxxxxxxxx # SendGrid API key
6SMTP_SENDER=NxGate <noreply@yourdomain.com>

Mailgun

.env
1## Mailgun (EU region)
2SMTP_HOST=smtp.eu.mailgun.org
3SMTP_PORT=465
4SMTP_USERNAME=postmaster@yourdomain.com
5SMTP_PASSWORD=your-mailgun-password
6SMTP_SENDER=NxGate <noreply@yourdomain.com>

Menerapkan Perubahan

Setelah mengubah konfigurasi SMTP di .env, restart service API agar perubahan diterapkan:

1# Restart service api setelah mengubah konfigurasi SMTP
2docker compose restart api
3
4# Lihat log untuk memastikan SMTP terhubung
5docker compose logs api | grep -i smtp

Menonaktifkan SMTP

Jika tidak ingin menggunakan email verifikasi, Anda bisa mengatur PUBLIC_DISABLE_SIGN_UP=true untuk menonaktifkan registrasi publik dan mengelola akun secara manual via database. Namun fitur reset password tidak akan berfungsi tanpa SMTP.