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 .env2SMTP_HOST=mail.example.com3SMTP_PORT=4654SMTP_USERNAME=nxgate@example.com5SMTP_PASSWORD=your-smtp-password6SMTP_SENDER=NxGate <nxgate@example.com>
| Variabel | Keterangan | Wajib |
|---|---|---|
SMTP_HOST | Hostname SMTP server | Ya |
SMTP_PORT | 465 (SSL) atau 587 (STARTTLS) | Ya |
SMTP_USERNAME | Username/email login SMTP | Ya |
SMTP_PASSWORD | Password SMTP | Ya |
SMTP_SENDER | Nama 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/apppasswords4SMTP_HOST=smtp.gmail.com5SMTP_PORT=4656SMTP_USERNAME=your-gmail@gmail.com7SMTP_PASSWORD=xxxx-xxxx-xxxx-xxxx # App Password 16 karakter8SMTP_SENDER=NxGate <your-gmail@gmail.com>
SendGrid
.env
1## SendGrid (SMTP relay)2SMTP_HOST=smtp.sendgrid.net3SMTP_PORT=4654SMTP_USERNAME=apikey5SMTP_PASSWORD=SG.xxxxxxxxxxxxxxxxxxxxxxxxxx # SendGrid API key6SMTP_SENDER=NxGate <noreply@yourdomain.com>
Mailgun
.env
1## Mailgun (EU region)2SMTP_HOST=smtp.eu.mailgun.org3SMTP_PORT=4654SMTP_USERNAME=postmaster@yourdomain.com5SMTP_PASSWORD=your-mailgun-password6SMTP_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 SMTP2docker compose restart api34# Lihat log untuk memastikan SMTP terhubung5docker 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.