Postfix sebagai Mail Hosting

Tulisan ini merupakan lanjutan dari seri “Bingung dengan Postfix.

postfixDalam skema Postfix sebagai mail hosting, Postfix akan menerima dan menyimpan email. Artinya Postfix merupakan tujuan akhir dari sebuah email yang ditujukan ke sebuah domain yang kemudian user yang bersangkutan akan mengambilnya dilain waktu. Yang perlu diperhatikan dalam hal ini adalah apakah domain yang akan dihandle oleh Postfix termasuk domain lokal atau virtual? Baik domain lokal maupun virtual keduanya bisa menggunakan UNIX account, walaupun dalam keadaan domain virtual banyak juga yang menggunakan database user non-UNIX.

Selain itu, tipe peyimpanan email juga harus diperhatikan apakah Anda akan menggunakan tipe tradisional mailbox atau tipe maildir. Sebagai gambaran, untuk tipe mailbox semua email untuk seorang user akan disimpan dalam satu buah file, biasanya di direktori /var/spool/mail/namauser atau /var/mail/namauser. Sedangkan untuk tipe maildir, setiap satu email akan disimpan dalam file yang berbeda dalam sebuah direktori yang sudah ditentukan. Tentu saja jika Anda menggunakan tipe maildir akan lebih bagus, karena tidak ada proses locking baik pada saat proses penulisan atau pengambilan sebuah email oleh user.

Mengapa pemilihan tipe penyimpanan email ini perlu diperhatikan, karena nantinya akan berhubungan juga dengan tipe server POP3 yang digunakan. Kalau digambarkan untuk skema ini alurnya mungkin akan seperti ini: MTA sender —> Postfix —> Mailbox storage Mari kita ambil contoh yang paling sederhana saja, misalnya ada sebuah domain lokal palestine.net dengan tipe penyimpanan email maildir. Maka parameter yang perlu diubah adalah mydestination yang berisi daftar domain yang akan dihandle Postfix dan home_mailbox untuk tipe penyimpanan yang digunakan. Maka contoh konfigurasi file di /etc/postfix/main.cf adalah:

mydestination = palestine.net
home_mailbox = Maildir/

Catatan: Jika Anda sudah mengisikan domain palestine.net di parameter mydomain, maka Anda bisa juga menggunakan variabel tersebut pada mysdestination, misalnya konfigurasinya menjadi mydestination = $mydomain

Buatlah sebuah user test, misalnya adalah user “alqossam” :

jericho:~ # useradd alqossam -m -c "Izzuddin Alqossam"
jericho:~ # passwd alqossam

Kemudian test mengirimkan email kepada user yang baru dibuat tersebut diatas :

asfik@jericho:~> mail alqossam@palestine.net
Subject: Kegiatan sebelum Idul Adha
Dear Pak Alqossam,
Bisakah kita bertemu malam ini di West Bank?
Asfihani
.
EOT

Kalau kita perhatikan transaksi tersebut di file mailllog adalah sebagai berikut:

Dec 15 07:52:44 jericho postfix/pickup[8028]: 89A31E993A: uid=1000 from=<asfik>
Dec 15 07:52:44 jericho postfix/cleanup[8033]: 89A31E993A: message-id=
<43A0BE5C.mail672111TQR@jericho.palestine.net>
Dec 15 07:52:44 jericho postfix/qmgr[8029]: 89A31E993A: from=<asfik@jericho.palestine.net>,
size=542, nrcpt=1 (queue active)
Dec 15 07:52:44 jericho postfix/local[8035]: 89A31E993A: to=<alqossam@palestine.net>,
relay=local, delay=0, status=sent (delivered to maildir)
Dec 15 07:52:44 jericho postfix/qmgr[8029]: 89A31E993A: removed

Kalau kita lihat status=sent (delivered to maildir) berarti email sudah diterima dan disimpan di homedirectory user “alqossam”, mari kita periksa:

asfik@jericho:~> ls /home/alqossam/Maildir/new
. .. 1134607964.V304Ia4c6cM809076.jericho

Lalu kita lihat isinya apa ya:

asfik@jericho:~> cd /home/alqossam/Maildir/new/
asfik@jericho:/home/alqossam/Maildir/new>cat 1134607964.V304Ia4c6cM809076.jericho

Return-Path: <asfik@jericho.palestine.net>
X-Original-To: alqossam@palestine.net
Delivered-To: alqossam@palestine.net
Received: by jericho.palestine.net (Postfix, from userid 1000)
id 89A31E993A; Thu, 15 Dec 2005 07:52:44 +0700 (WIT)
Date: Thu, 15 Dec 2005 07:52:44 +0700
To: alqossam@palestine.net
Subject: Kegiatan sebelum Idul Adha
Message-ID: <43A0BE5C.mail672111TQR@jericho.palestine.net>
User-Agent: nail 11.4 8/29/04
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
From: asfik@jericho.palestine.net (Asfihani)


Dear Pak Alqossam,
Bisakah kita bertemu malam ini di West Bank?

Asfihani

Hmm, isinya email yang barusan kita kirimkan. Berarti kita sudah berhasil. Jika Anda sudah puas, maka Anda tinggal meminta user untuk melakukan ssh ke server dan mulai membiasakan diri menjadi seorang yang geek :-) dengan menggunakan email client yang berbasis teks seperti mutt, PINE, atau MUA lain yang mendukung format maildir.

Server POP3/IMAP

Namun jika Anda ingin memanjakan user Anda, mari bersama-sama menginstall server POP3/IMAP. Anda bisa memilih software POP3/IMAP apa saja asal mendukung format maildir seperti skenario kita diatas. Idola saya adalah Dovecot buatan Pak Timo Sirainen dari Finlandia yang sudah mendukung format maildir serta merupakan paket hemat two-in-one, yaitu install satu paket dapat dua fungsi (POP3 dan IMAP). Dalam beberapa distribusi Linux misalnya Fedora dan SuSE, paket dovecot ini biasanya sudah terinstall. Anda tinggal mengubah beberapa parameter pada file /etc/dovecot/dovecot.conf, terutama pada : protocols = imap pop3 imap_listen = [::] pop3_listen = [::] #disable_plaintext_auth = yes auth_userdb = passwd auth_passdb = pam Jalankan dovecot dengan perintah rcdovecot start di SuSE atau service dovecot start di RedHat dan friends. Kemudian kita coba untuk telnet ke port 110 dan mencoba melihat email yang kita kirimkan diatas:

asfik@jericho:~> telnet jericho.palestine.net 110

Trying 192.168.0.250...
Connected to jericho.palestine.net.
Escape character is '^]'.
+OK dovecot ready.
user alqossam
+OK
pass asdf
+OK Logged in.
stat
+OK 1 662
retr 1
+OK 662 octets
Return-Path: <asfik@jericho.palestine.net>
X-Original-To: alqossam@palestine.net
Delivered-To: alqossam@palestine.net
Received: by jericho.palestine.net (Postfix, from userid 1000)
        id 89A31E993A; Thu, 15 Dec 2005 07:52:44 +0700 (WIT)
Date: Thu, 15 Dec 2005 07:52:44 +0700
To: alqossam@palestine.net
Subject: Kegiatan sebelum Idul Adha
Message-ID: <43A0BE5C.mail672111TQR@jericho.palestine.net>
User-Agent: nail 11.4 8/29/04
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
From: asfik@jericho.palestine.net (Asfihani)

Dear Pak Alqossam,
Bisakah kita bertemu malam ini di West Bank?

Asfihani

Kemudian Anda bisa mencoba dari MUA di client misalnya Thunderbird, MS Outlook, Eudora dan lain sebagainya. Anda juga bisa menginstall webmail misalnya Squirrelmail untuk mengakses email melalui web karena server IMAP juga sudah ada. Menarik bukan? Selamat mencoba dan Semoga Berhasil.

13 Replies

  • makin ke bawah ane makin pusing kang!!!

    tapi ide buat domainnya palestine.net bagus juga , coba kalau ketemuannya di jimbaran tentu lebih drasmatis lagi :P

    salam kenal kang, ane cah medioun,, deket toh :D

  • mas asfik, saya sudah menghidupkan option
    home_mailbox = Maildir/ di file main.cf.
    Setelah di restart and coba kirim email, koq directori Maildir usernya gak ada ya ?.
    Apa ada yang perlu saya tambahkan lagi settingannya, Mas.

  • mas asfik saya ada masalah nich mas di mailserver yang ingin saya bangun, maillognya waktu login ke webmail seperti ini
    Oct 26 11:59:37 hujan imapd: Connection, ip=[::ffff:127.0.0.1]
    Oct 26 11:59:37 hujan imapd: chdir kinanthi.com/coba@kinanthi.com/: Permission denied
    terus log waktu add mailbox lewat CP mailadmin seperti ini
    Oct 26 12:01:09 hujan postfix/qmgr[7979]: 683AE5DC64: from=, size=394, nrcpt=1 (queue active)
    Oct 26 12:01:09 hujan postfix/smtpd[8294]: lost connection after QUIT from hujan.ns-hosts.net[127.0.0.1]
    Oct 26 12:01:09 hujan postfix/smtpd[8294]: disconnect from hujan.ns-hosts.net[127.0.0.1]
    Oct 26 12:01:09 hujan postfix/virtual[8303]: 683AE5DC64: to=, relay=virtual, delay=0.09, delays=0.05/0.02/0/0.03, dsn=2.0.0, status=sent (delivered to maildir)
    Oct 26 12:01:09 hujan postfix/qmgr[7979]: 683AE5DC64: removed

    yang ingin saya tanyakan apa yang harus saya lakukan selanjutnya , terus setingan mana yang kurang?

    matur nuwun gih mas asfik.

  • mas.. saya barusan udah coba pake dovecot dan berhasil, tapi gimana kalo pake dovecot untuk nangani user yang ada di virtual domain ?

    Trim’s

  • Mas johan harus mengubah skema untuk menggunakan data username virtual (bukan dari system). Bisa menggunakan flat file, database, atau LDAP.

  • Nyeselnya pisah kost ama Asfik. Coba kalo sekarang masih di sana dan Asfik belom nikah, bisa kecipratan pinter dech :p

    Bos jalan-jalan ke Cirebon dong..

Leave a Reply

Your email address will not be published. Required fields are marked *