Skip to main content

Reroute email pada exim mail server

Saya ingin merubah jalur pengiriman email untuk domain tertentu, untuk tidak melewati mail server default nya.

Sekilas info :

Server 1:

  • mail server : Exim
  • Operating System : CentOS
  • Control Panel : Cpanel
  • IP : 999.999.999.9
  • Hostname : server1.ngasalaja.com

Server 2 :

  • mail server : sendmail
  • Operating Sytem : CentOS
  • Controlpanel : -
  • IP : 888.888.888.8
  • Hostname : server2.ngasalaja.com

Server 1 adalah  server utama, proses penerimaan dan pengiriman email secara default melaului server 1 tersebut.

Karena ada sesuatu hal pada server 1 maka untuk domain tertentu proses pengiriman tidak langsung dari server 1 melainkan harus melalui server 2. Sedangkan untuk penerimaan tetap pada server 1.

sebagai contoh :

Setiap email yang dikirim dari server 1 dengan tujuan domain yahoo.com dan yahoo.co.id harus dikirimkan melalui server 2 .

Bagaimana melakukannya :

Pada Server 1:

  • Masuk ke whm cpanel sebagi root ( akses tertinggi) sehinggi bisa melakukan configurasi pada " Service Configuration >> Exim Configuration Editor "
  • Atau lewat SSH edit file exim.conf biasanya terletak pada /etc atau /etc/exim

  • Klik pada Advanced Editor (bila dari whm cpanel) kemudian cari sampai baris berikut:

######################################################################
# ROUTERS CONFIGURATION #
# Specifies how remote addresses are handled #
######################################################################

  • Kemudian tambahkan baris berikut pada kolom yang tersedia, letaknya beberapa baris setelah kata-kata di atas.

special:
driver = manualroute
transport = remote_smtp
route_list = yahoo.com server2.ngasalaja.com; yahoo.co.id server2.ngasalaja.com

  • Simpan hasil penambahan tersebut kemudian restart exim ( bila dari whm cpanel setelah menekan tombol save pada baris paling bawah otomatis exim akan di restart ).

Pada Server 2 :

  • Karena tidak menggunakan control panel maka login dengan SSH.
  • Edit file access bisanya letaknya pada /etc/mail
  • Tambahkan baris berikut, ganti IP dengan IP dari server 1 :

Connect:999.999.999.9                RELAY

  • Save, kemudian buat databasenya dengan perintah makemap :

makemap hash /etc/mail/access.db < /etc/mail/access

Seharusnya sekarang setiap pengiriman email dari server 1 dengan tujuan domain yahoo.com dan yahoo.co.id maka prosesnya akan di reroute ke server 2

 

untuk lebih meyakinkan cek lewat konsol, log dari kedua server.

untuk server 1 : tail -f /var/log/exim_mainlog

2010-08-09 20:26:30 1OiSMx-0006LX-Pr => xxx-xxx-xxx@yahoo.com R=special T=remote_smtp H=server1.ngasalaja.com [999.999.999.9]

untuk server 2 : tail -f /var/log/maillog

Aug  9 13:25:14 server2 sendmail[30335]: o79DPAXP030325: to=<xxx-xxx-xxx@yahoo.com>, delay=00:00:04, xdelay=00:00:04, mailer=esmtp, pri=120705, relay=b.mx.mail.yahoo.com. [74.6.136.65], dsn=2.0.0, stat=Sent (ok dirdel)

Kira-kira seperti itu petikan dari log kedua mail server bila apa yang kita setting berjalan mulus.

Semoga bermanfaat.

Narasumber :