Anda di halaman 1dari 3

Administrasi Email dengan Fetchmail, Cron dan Procmail

Sekedar contoh sederhana dari pengalaman pribadi. Jika ada koreksi, ide, atau saran, silakan
kontak penulis melalui Redaksi.

Fetchmail

Mengambil Email dari Server Remote ke Server Lokal

Karena Linux bisa multi user, maka administrator (root) dapat mengambil email banyak user di server
remote (satu server atau lebih) dan memberikan kepada masing-masing user di server lokal. Salah satu
program yang dapat menangani tugas pengambilan email ini adalah fetchmail. Dengan program cron
(daemon-nya bernama crond), jadwal pengambilan dapat diatur secara mudah. Linux RedHat (penulis
mengggunakan RedHat 6.2) menyediakan tool untuk fetchmail plus cron ini, yang dapat dikonfigurasi
melalui linuxconf atau netconf. 
Gambar-1 memperlihatkan tampilan netconf di X-window yang telah ada modul untuk fetchmail dan cron.
Klik bagian “Remote mail server (fetchmail)” untuk mengatur konfigurasi fetchmail.  Gambar-2
menunjukkan 3 bagian utama dari konfigurasi fetchmail, yaitu Basics, Mail servers dan Users. 

Basics

Basics atau “Remote mail retreival basics” berfungsi mengatur waktu pengambilan email, misalnya
dengan interval 0 tapi dijadwal oleh cron (Gambar-3). Dalam kasus berikut ini, cron akan menjalankan
program fetchmail (/usr/bin/fetchmail) dengan file konfigurasi /root/.fetchmailrc (file diawali tanda titik). 
Jadwal yang akan dikerjakan cron memiliki 5 kelompok waktu, yaitu menit, jam, hari dalam seminggu,
tanggal dalam sebulan, dan bulan dalam setahun (Gambar-4). Baris Command artinya perintah yang akan
dijalankan terjadwal oleh cron (/usr/bin/fetchmail -f /root/.fetchmailrc). Months berisi “*” berarti untuk
semua bulan (Januari hingga Desember). Days of the month diisi “*” berarti untuk semua tanggal dalam
setiap bulan. Days of the week diisi 1-6 artinya hanya untuk hari pertama (Senin) hingga keenam
(Sabtu), sehingga pada hari Minggu cron tidak menjadwalkan fetchmail untuk root ini. Hours diisi 7-18
berarti hanya antara jam 7 pagi hingga 18. Minutes diisi 0, 20, 40 berarti fetchmail dijalankan oleh root
pada menit ke 0, 20 dan 40. Dengan kata lain, root dijadwalkan oleh cron akan menjalankan fetchmail
dengan file konfigurasi /root/.fetchmailrc pada tiap pukul 7.00, 7.20, 7.40, 8.00, 8.20, dan seterusnya
hingga 18.40, tiap hari Senin hingga Sabtu. Klik (menjadi lekuk) “this entry is active” menandakan tabel
cron (crontab) milik root ini diaktifkan. Crontab ini juga dapat diedit secara manual dengan perintah
crontab -e. Konfigurasi seperti di atas akan menghasilkan file /var/spool/cron/root dengan isi sebagai
berikut:
0,20,40 7-18 1-6 * * /usr/bin/fetchmail -f  /root/.fetchmailrc

Mail servers

Gambar-5 menunjukkan penentuan server mail mana saja yang akan diakses, termasuk jenis
protokolnya. Bila pada form “Mail server list” masih kosong atau ingin membuat baru, klik tombol Add
sehingga muncul form “Remote mail server access”. Isi “Mail server to access” dengan alamat domain
atau IP server email, misalnya pop.mail.yahoo.com. Klik tombol di depan “Server is active”. Jika anda
mengetahui jenis protokol server email, pilih protokol yang sesuai, misalnya POP3 atau IMAP. Isi dengan
AUTO jika anda tidak tahu jenis protokolnya. Lalu klik Accept dan Quit untuk kembali ke menu utama
(Gambar-2). 

Users

Untuk tiap server email yang akan diakses (Gambar-5 bawah), harus dimasukkan nama user yang
terdaftar dan passwordnya. Jika “Mail user list” masih kosong, klik tombol Add dan isi baris Remote user
name, Remote user password, dan Local user name (Gambar-6). Local user artinya user di server lokal
yang akan menerima email dari fetchmail. CATATAN: Hati-hati saat mengisi form ini, karena password
yang diketik akan tertulis transparan. Informasi lainnya perlu didefinisikan di bagian bawah, misalnya
tidak ingin menghapus email di server remote setelah pengambilan oleh fetchmail ini (Don’t delete seen
messages from server).  
Setting ini akan menghasilkan file /root/.fetchmailrc yang berisi antara lain sebagai berikut:
 poll pop.mail.yahoo.com with protocol POP3, 
 user "elektro98" there with password "rahasia-elektro98" is rus here
 with options keep rewrite mimedecode pass8bits

Semua konfigurasi ini harus diaktifkan dengan memilih “Activate the changes” (Gambar-7). Crond juga
harus di-start atau di-restart, misalnya dengan menjalankan command berikut ini.
# /etc/rc.d/init.d/crond stop
# /etc/rc.d/init.d/crond start

Memfilter atau Membagi Email dengan procmail

Kalau hanya menggunakan fetchmail, administrator hanya bisa memberikan hasil pengambilan email
kepada seorang user, misalnya root, tanpa melakukan filtering (pemilahan) lagi. Untuk melakukan
filtering terhadap setiap email yang masuk ke server, kita dapat menggunakan procmail. Pemilahan oleh
procmail ini bisa berdasar pengirim (from), penerima (to), judul (subject), dll. File konfigurasi procmail
(.procmailrc) diletakkan di direktori home dari user, misalnya /root untuk superuser atau administrator.

Contoh .procmailrc
Dalam kasus kali ini, kita sebagai root akan mengambil email dari sebuah account (pop3) di salah satu
server email di Internet, misalnya user_anda@pop3.telkom.net. Email di telkom.net ini menampung email
hasil forward dari 5 anggota sebuah keluarga yang memiliki virtual domain di salah satu web-hosting.
CATATAN: keluarga atau usaha kecil ini hanya mampu dial-up ke Internet (misal Telkomnet Isntant) dan
sewa web-hosting hanya untuk forward email dan homepage sederhana.
Misalnya, user untuk web-hosting adalah user_asli, virtual domain di Internet (web-hosting) adalah
domain_anda.com, user di server lokal sama dengan user di web-hosting, yaitu bapak, ibu, kakak, adik
dan nenek. Konfigurasi sederhana procmail ditunjukan dalam file .procmailrc sebagai berikut (yang
diletakkan pada direktori /root). 

SHELL=/bin/bash  # Ini jenis shell yang digunakan.


MAILDIR=/var/spool/mail # Direktori mail tiap user di lokal.
DEFAULT=$MAILDIR/root # User yang menerima email secara default.

:0:
*Delivered-To: user_asli-bapak@domain_anda.com
bapak

:0:
*Delivered-To: user_asli-ibu@domain_anda.com
ibu

:0:
*Delivered-To: user_asli-kakak@domain_anda.com
kakak

:0:
*Delivered-To: user_asli-adik@domain_anda.com
adik

:0:
*Delivered-To: user_asli-nenek@domain_anda.com
nenek

Dalam contoh ini, semua email yang ditujukan kepada 5 user pada domain_anda.com diforward ke
user_anda@telkom.net. Setelah root di server lokal mengambil email user_anda@telkom.net dengan
fetchmail, server email lokal (misal Sendmail) meneruskan ke procmail untuk dipilah-pilah (filtering).
Email yang ditujukan ke bapak@domain_anda.com akan diberikan kepada user bapak (Delivered-To:
user_asli-bapak@domain_anda.com). Demikian pula email untuk ibu, kakak, adik dan nenek akan
diberikan ke user ibu, kakak, adik dan nenek. Jika ada email yang tidak memenuhi kriteria di atas akan
diberikan kepada root (DEFAULT=$MAILDIR/root). 

Cara Konfiguarsi Client (Contoh: Netscape Messenger)


Agar user lokal bisa mengambil email secara remote dengan program email yang umum seperti Netscape
Messenger, Outlook Express dan Eudora, di server lokal harus diinstall server POP3 atau IMAP. RedHat 6.2
menyertakan software bernama “imap” yang mendukung POP3 dan IMAP. Setelah “imap” terinstall,
pastikan bahwa POP3 atau IMAP tidak diberi tanda “#” pada file /etc/inetd.conf.
Untuk menguji server email yang telah dikonfigurasi sesuai dengan 2 artikel edisi sebelumnya (ELEKTRO
No. 33 dan 34) dan tulisan di atas, Anda dapat menggunakan salah satu aplikasi, misalnya Netscape
Messenger. Pertama pilih menu Edit, lalu Preferences, sehingga nampak seperti Gambar-8.  Setelah
mengisi Identity dengan nama lengkap dan alamat email, isi bagian Mail servers sesuai dengan
konfigurasi yang telah dibuat (Gambar-9). Outgoing mail (SMTP) server diisi dengan alamat IP atau
domain server lokal dan user yang terdaftar di server email tersebut, misalnya server “10.2.0.13” dan
user “rus”. Klik Add untuk menambahkan Incoming Mail Server. 
Gambar-10 menunjukkan konfigurasi Netscape Messenger untuk pengambilan email di server dengan
alamat IP “10.2.0.13”, server type atau protokol “POP” dan user “rus”. Tidak seperti fetchmail yang dapat
mengambil email dari beberapa server POP, Netscape (4.72) hanya bisa satu server POP. Sedangkan
untuk mengambil dari server IMAP, Netscape dapat mengakses lebih dari satu server.
Di Linux, selain Netscape juga tersedia kmail (dari KDE), xfmail, dan masih banyak lagi, yang bisa
mengambil email dari server POP3 atau IMAP dengan tampilan grafis di X-window (GUI: Graphical User
Interface).

Oleh Rusmanto

Anda mungkin juga menyukai