SMTP Server

NxGate menggunakan SMTP untuk mengirim email konfirmasi pembelian, notifikasi perpanjangan lisensi, dan reset password admin. Konfigurasikan SMTP server saat self-hosting agar fitur email berjalan dengan benar.

Environment Variables

Tambahkan variabel berikut pada file .env:

.env
1# .env
2SMTP_HOST=smtp.gmail.com
3SMTP_PORT=587
4SMTP_SECURE=false
5SMTP_USER=noreply@yourdomain.com
6SMTP_PASSWORD=your-app-password
7SMTP_FROM="NxGate <noreply@yourdomain.com>"

Konfigurasi

config/smtp.ts
1// config/smtp.ts
2export const smtpConfig = {
3 host: process.env.SMTP_HOST!,
4 port: Number(process.env.SMTP_PORT ?? 587),
5 secure: process.env.SMTP_SECURE === 'true',
6 auth: {
7 user: process.env.SMTP_USER!,
8 pass: process.env.SMTP_PASSWORD!,
9 },
10 from: process.env.SMTP_FROM!,
11}

Provider yang Direkomendasikan

SendGrid

Free tier 100 email/hari, mudah dikonfigurasi.

Mailgun

Cocok untuk volume tinggi, ada flexible pricing.

Amazon SES

Sangat murah jika sudah memakai AWS.

Postmark

Reputasi deliverability sangat baik.

Tes Konfigurasi

terminal
# Kirim email tes
curl -X POST http://localhost:3000/admin/smtp/test \
-H "Authorization: Bearer $ADMIN_TOKEN" \
-H "Content-Type: application/json" \
-d '{"to":"you@example.com"}'

Penting

Selalu gunakan App Password (bukan password akun utama) untuk Gmail. Aktifkan SPF, DKIM, dan DMARC pada domain pengirim untuk menghindari folder spam.