# gisportal.id — Multi-Domain Mail (Mailcow murni) > **Penting:** `gisportal.id` **tidak punya cPanel**. Domain ini langsung publik → `117.102.73.102` → port email di-forward ke Mailcow (`10.100.1.28`). > > Berbeda dengan `geonet.co.id` yang masih **hybrid** (MX/inbox banyak user di cPanel). --- ## Arsitektur dua domain di satu Mailcow ``` ┌─────────────────────────────────────┐ │ Mailcow sync.geonet.co.id (.28) │ │ IP publik: 117.102.73.102 │ └─────────────────────────────────────┘ ▲ ▲ MX mail.gisportal.id MX geonet.co.id (masih cPanel) (langsung ke .102) + fetchmail / transport map │ │ gisportal.id │ │ geonet.co.id (NO cPanel) │ │ (hybrid cPanel) │ │ admin@gisportal.id support@, rbsetiawan@, … ``` | Domain | Hosting email | Inbound | Outbound | |--------|---------------|---------|----------| | **gisportal.id** | **Mailcow saja** | MX → `.102` → Mailcow | Langsung dari Mailcow (tanpa relay cPanel) | | **geonet.co.id** | Hybrid | MX masih cPanel + fetchmail / transport | Relay cPanel `:587` (transisi) | Di Mailcow Admin, domain `gisportal.id` harus **`relayhost` = none** (bukan relay cPanel seperti `geonet.co.id`). --- ## DNS `gisportal.id` — wajib disesuaikan SPF saat ini masih mencantumkan **IP cPanel lama** — itu salah untuk domain tanpa cPanel. | Record | Target | Status | |--------|--------|--------| | MX | `10 mail.gisportal.id` | ✅ | | A `mail.gisportal.id` | `117.102.73.102` | ✅ | | A `gisportal.id` | `117.102.73.102` (web) | ✅ | | **SPF** | `v=spf1 ip4:117.102.73.102 -all` | ✅ 2026-07-06 (TTL 1800, propagasi ~30 menit) | | **DKIM** | TXT dari Mailcow Admin | ⏳ publish | | PTR | `117.102.73.102` → `sync.geonet.co.id` | shared dengan geonet | **SPF yang benar** (tanpa cPanel): ```txt v=spf1 ip4:117.102.73.102 -all ``` **Hapus** entri lama seperti `ip4:103.229.73.23` dan `include:idse.idcloudhosting.com` dari SPF `gisportal.id` — itu sisa hosting lama, bukan Mailcow. DKIM: Mailcow Admin → Configuration → Configuration & Details → **ARC/DKIM keys** → domain `gisportal.id` → publish TXT ke DNS. --- ## Perilaku `admin@gisportal.id` ### Yang sudah OK di server | Arah | Contoh | Mekanisme | |------|--------|-----------| | Terima internal Mailcow | `support@` → `admin@gisportal.id` | LMTP lokal ✅ | | Kirim ke internet | `admin@gisportal.id` → Gmail | SMTP langsung Mailcow ✅ | | Kirim ke diri sendiri | SOGo self-test | ✅ | ### Masalah yang tersisa (bukan karena gisportal punya cPanel) | Gejala | Penyebab sebenarnya | |--------|---------------------| | Kirim ke `rbsetiawan@geonet.co.id` gagal | **Penerima** di cPanel (`geonet.co.id` hybrid). Transport map pakai auth `support@geonet.co.id` → cPanel menolak From `@gisportal.id` | | Kirim ke `rianjawa93@geonet.co.id` gagal | Mailbox tidak ada di Mailcow; tidak ada transport map | | Kirim ke `support@` saja OK | `support@` punya mailbox aktif di Mailcow | | Terima dari `rbsetiawan@` sempat ditolak | Email dari **cPanel geonet** lewat spam filter; Rspamd `SPOOFED_UNAUTH` — forwarding hosts sudah ditambahkan | | Terima dari luar lambat/gagal | Tunggu propagasi SPF baru; pastikan DKIM sudah publish | **Kirim ke user `@geonet.co.id` yang masih di cPanel** dari akun `@gisportal.id` memang bermasalah — ini konflik **cross-domain ke hybrid geonet**, bukan masalah hosting gisportal. **Solusi kirim ke user cPanel-only `@geonet.co.id`:** | Opsi | Keterangan | |------|------------| | A | Kirim dari `support@geonet.co.id` (bukan `@gisportal.id`) | | B | Tambah transport map + kredensial SMTP yang domain-nya cocok (jarang praktis) | | C | Migrasi penerima ke Mailcow (LDAP / mailbox) | --- ## Inbound ke `@gisportal.id` — alur yang benar ``` Pengirim (Gmail / rbsetiawan@cPanel / dll) → DNS MX gisportal.id = mail.gisportal.id → 117.102.73.102:25 (forward ke Mailcow) → Postfix Mailcow → inbox admin@gisportal.id ``` Tidak ada hop cPanel untuk domain `gisportal.id`. Jika `rbsetiawan@` kirim dari **webmail cPanel geonet**, pastikan penerima `admin@gisportal.id` — MX lookup harus ke `mail.gisportal.id`, bukan lewat relay internal geonet saja. --- ## Checklist - [ ] SPF `gisportal.id` → `v=spf1 ip4:117.102.73.102 -all` (hapus IP cPanel lama) - [ ] DKIM publish dari Mailcow - [ ] Verifikasi domain `gisportal.id` di Mailcow: **relayhost = none** - [ ] Tes terima dari Gmail → `admin@gisportal.id` - [ ] Tes terima dari `support@geonet.co.id` → refresh Inbox SOGo - [ ] (Opsional) DMARC `_dmarc.gisportal.id` --- ## Script terkait | Script | Fungsi | |--------|--------| | `scripts/fix-sogo-domain.sh` | Sync password SOGo setelah buat mailbox | | `scripts/setup-gisportal-inbound-whitelist.sh` | Whitelist NAT/cPanel forwarder untuk inbound | --- ## Referensi - [hybrid-migration-cpanel-mailcow.md](./hybrid-migration-cpanel-mailcow.md) — hanya untuk **geonet.co.id** - [ldap-ad-mailcow.md](./ldap-ad-mailcow.md) — AD domain `gisportal.id` vs mailbox `@geonet.co.id` / `@gisportal.id`