GeoNetAgent, LDAPWeb, server-audit, server-connection
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

4.2 KiB

Hybrid Migration — User @geonet.co.id (cPanel vs Mailcow)

Kapan baca: User masih baca email di cPanel, tapi sudah masuk grup Mail-Users / punya mailbox Mailcow.


Masalah

support@ (Mailcow) --kirim--> rbsetiawan@geonet.co.id
                                    |
                    Postfix Mailcow: LOCAL delivery
                    (karena mailbox ada di Mailcow)
                                    |
                              inbox Mailcow saja
                                    X
                              inbox cPanel (MX eksternal)
Arah email rbsetiawan baca di Masuk ke
Internet → MX cPanel cPanel cPanel
support@ → rbsetiawan@ (internal Mailcow) cPanel hanya Mailcow

Satu alamat email = satu inbox canonical. Tidak bisa mailbox aktif di Mailcow dan inbox utama di cPanel untuk routing internal.


Dua jalur per user

Jalur A — Migrasi penuh ke Mailcow (disarankan jangka panjang)

Sesuai email-sync-migration-concept.md.

Step Aksi
1 Tetap di grup Mail-Users
2 Mailbox Mailcow aktif (LDAP)
3 Tambah fetchmail POP3 dari cPanel → Mailcow (seperti support@)
4 User ganti Outlook → IMAP sync.geonet.co.id + password AD
5 Inbox canonical = Mailcow saja

Email internal dari support@ sudah masuk Mailcow — user tinggal baca di sana.

Jalur B — Tetap di cPanel (belum migrasi)

Step Aksi
1 Keluarkan user dari grup AD Mail-Users
2 Nonaktifkan mailbox di Mailcow Admin (Inactive)
3 LDAP sync: docker exec mailcowdockerized-php-fpm-mailcow-1 php /crons/ldap-sync.php
4 Transport map → relay ke SMTP cPanel (wajib)
5 Aktifkan alias (jika ada) agar SOGo terima penerima
6 User tetap baca email di cPanel

Tanpa transport map: kirim internal dari Mailcow ke user tanpa mailbox → error User unknown.

Transport map (Mailcow Admin UI)

Configuration → Routing → Transport maps → Add

Field Contoh rbsetiawan@
Destination rbsetiawan@geonet.co.id
Nexthop [sc138.idcloudhosting.cloud]:587
Username support@geonet.co.id (sama relay outbound)
Password password SMTP cPanel relay
Active

Atau jalankan script: scripts/setup-transport-cpanel-user.sh rbsetiawan@geonet.co.id

Catatan: Port 25 ke cPanel ditolak RBL (IP publik Mailcow). Pakai 587 + auth.

Verifikasi Postfix: postmap -q rbsetiawan@geonet.co.id mysql:/opt/postfix/conf/sql/mysql_transport_maps.cf → harus return smtp_via_transport_maps:[sc138...]:587


Kebijakan tim (rekomendasi)

Fase user Grup Mail-Users Mailbox Mailcow Baca email via
Belum migrasi Jangan tambah dulu cPanel
Migrasi sync.geonet.co.id IMAP
support@ + fetchmail POP3 Mailcow

Jangan masukkan semua user ke Mail-Users sekaligus jika masih pakai cPanel harian.


Untuk kasus rbsetiawan@ saat ini (Jalur B — diterapkan 2026-07-06)

Item Status
Keluar grup Mail-Users
Mailbox Mailcow Inactive (active=0)
LDAP sync
Transport map → cPanel :587
Alias aktif (SOGo RCPT)
Tes kirim support@ → rbsetiawan@ verified — inbox cPanel

Email lama yang sudah masuk inbox Mailcow tidak otomatis pindah ke cPanel.

Untuk migrasi penuh (Jalur A): fetchmail POP3 + Outlook IMAP Mailcow — lihat email-sync-migration-concept.md.


fetchmail multi-user

Contoh tambahan di /opt/fetchmail/fetchmailrc (satu entry per user migrasi):

poll mail.geonet.co.id with proto POP3 port 995
  user "rbsetiawan@geonet.co.id" there with password "..." is "rbsetiawan@geonet.co.id" here
  ssl
  no sslcertck
  smtphost 127.0.0.1
  smtpname sync.geonet.co.id
  fetchall
  nokeep

Referensi