Gentoo Logo

Panduan Singkat E-Mail Mutt

Daftar Isi:

1.  Pengenalan E-Mail

Jika anda tidak suka menggunakan klien e-mail dengan antarmuka yang cantik, atau jika anda hanya ingin bereksperimen dengan klien e-mail lain sebelum memutuskan klien yang akan anda gunakan, berikut ini adalah cara mulai menggunakan tool-tool baris perintah yang handal:

fetchmail, procmail, mutt & smtp

Program-program ini tidak hanya handal dan sangat dapat dikustomisasi, tetapi juga ramping dan efisien. Setelah anda menginstal dan menjalankan sistem e-mail ini, anda akan kagum dengan kemampuannya.

Karena panduan ini adalah panduan singkat, kami meniadakan Mail Transfer Agent (MTA) seperti sendmail, postfix atau exim. Ini artinya tidak ada konfigurasi MTA yang rumit. Panduan ini juga tidak menjelaskan cara menggunakan port 25 untuk layanan e-mail.

Kami melakukannya karena fetchmail dapat memaksa surat yang diambilnya langsung melalui Mail Delivery Agent (MDA) tanpa perlu melakukan forward ke port 25. Kita juga tidak perlu menggunakan MTA yang rumit hanya untuk melakukan pengiriman e-mail biasa.

Berikut ini adalah program-program yang anda perlukan.

Daftar Kode 1.1: Instalasi program-program yang dibutuhkan

# emerge fetchmail nbsmtp procmail mutt

Berikut ini adalah empat langkah cepat untuk mengkonfigurasi file-file dan anda sudah siap menjalankan sistem e-mail baru anda.

Penting: Setelah melaksanakan setiap langkah, anda dapat melakukan percobaan untuk memastikan apakah pengaturan sudah benar. Ini artinya anda akan langsung mendapatkan sistem e-mail yang sudah dapat difungsinkan ketika anda selesai membaca panduan ini.

2.  Fetchmail

Fetchmail mendownload surat dari server dan menyerahkannya kepada sistem penerima surat di sistem anda. Untuk menggunakannya, anda perlu mengkonfigurasi file .fetchmailrc di direktori home anda seperti pada contoh ini:

Daftar Kode 2.1: Contoh .fetchmailrc

poll mail.myisp.net protocol pop3 user "myname" password "mypasswd"

Setelah file .fetchmailrc diciptakan, anda harus mengganti perizinan file tersebut dengan perintah chmod. File ini hanya boleh dibaca oleh pemiliknya. Atur perizinannya dengan perintah berikut:

Daftar Kode 2.2: Mengganti perizinan

$ chmod 600 .fetchmailrc

Untuk melihat fetchmail yang sedang bekerja, gunakan modus verbose (-v). Untuk mendownload semua surat, gunakan -a. Anda harus menggunakan opsi -m untuk memerintahkan fetchmail mengirim surat ke procmail.

Peringatan: Ketika melakukan percobaan, ada baiknya anda menggunakan opsi -k agar fetchmail tidak menghapus surat di server sebagai antisipasi jika anda harus mendownload ulang surat-surat anda karena satu dan lain hal.

Sekarang jalankan untuk melihat aksi fetchmail!

Daftar Kode 2.3: Pengujian fetchmail #1

$ fetchmail -akv -m "/usr/bin/procmail -d %T"

Natinya anda dapat menggunakan perintah di atas sebagai tugas cron atau meletakkannya di monitor sistem seperti gkrellm. Fetchmail juga dapat dijalankan pada modus daemon dengan interval waktu download yang dapat ditentukan.

3.  Procmail

Procmail adalah pemroses yang menyaring surat-surat yang diserahkan kepadanya oleh fetchmail. Procmail juga bertindak sebagai MDA untuk mengantarkan surat ke kotak surat anda untuk dibaca oleh mutt (klien e-mail).

Untuk menggunakan procmail, anda harus menciptakan file .procmailrc di direktori home anda. Agar singkat, kita akan menggunakan .procmailrc sederhana yang akan menyaring surat-surat dari tiga milis gentoo ke kotak surat: gentoo-dev, gentoo-user dan gentoo-announce.

Catatan: Aturan penyaringan procmail disebut resep, penulis juga telah menambahkan resep untuk menyaring spam.

Daftar Kode 3.1: Contoh .procmailrc

MAILDIR=$HOME/MuttMail                ##Jangan lupa ciptakan direktori ini
LOGFILE=$HOME/.procmaillog
LOGABSTRACT=no
#VERBOSE=on...hanya untuk debug
VERBOSE=off
FORMAIL=/usr/bin/formail
NL="
"
## baris resep dimulai dengan :0
## jangan letakkan komentar pada baris-baris resep
## nonaktifkan sebuah resep dengan tanda !
## gunakanlah baris kondisi dengan tanda * dan regex 
## baris kondisi akan ditambahkan dan apa saja yang berada di belakang * akan
## langsung diberikan kepada egrep
## baris satu aksi mengikuti kondisi, pada contoh ini adalah nama kotak surat

# tangkap surat duplikat dengan formail
:0 Whc: .msgid.lock
| $FORMAIL -D 16384 .msgid.cache

:0 a
$MAILDIR/duplicates

#surat yang selalu kita izinkan
:0
* ^From:.*(craig\@hotmail|renee\@local.com)
$MAILDIR/friends

# saring spam
:0
* ^Subject:.*(credit|cash|money|debt|sex|sale|loan)
$MAILDIR/spam

# saring surat html
:0
* ^Content-Type:.*html
$MAILDIR/junk

# tempatkan milis di kotak surat
:0
* ^List-Id:.*gentoo-user
gentoo-user

:0
* ^List-Id:.*gentoo-dev
gentoo-dev

:0
* ^List-Id:.*gentoo-announce
gentoo-announce

# tangkap surat lain dari gentoo
:0
* ^From:.*gentoo.org
gentoo

:0
* ^From:.*@freshmeat\.net
freshmeat

###########################################
# Aturan terakhir: surat lain yang lolos  #
# akan ditempatkan di kotak surat default #
###########################################
:0
* .*
default

# Akhir file

Catatan: Anda hanya perlu menciptakan direktori MAILDIR $HOME/MuttMail karena Procmail akan menciptakan semua direktori lain yang diperlukan di dalam direktori ini dengan menggunakan nama yang ditemukan pada baris aksi. Kunjungilah http://www.procmail.org/.

Sekarang anda dapat menguji .procmailrc dengan menjalankan kembali perintah fetchmail yang telah kita coba tadi pada langkah pertama. Jangan lupa gunakan opsi -k agar surat anda tidak dihapus dari server.

Daftar Kode 3.2: Pengujian procmail #1

$ fetchmail -akv -m "/usr/bin/procmail -d %T"

Setelah fetchmail dan procmail dijalankan, masuklah ke $HOME/MuttMail untuk membaca surat-surat anda dengan less atau manajer file anda.

4.  Klien e-mail mutt

Mutt digunakan untuk membaca dan menulis e-mail. Aplikasi ini sangat handal dan dapat dikustomisasi tetapi juga ramping dan efisien.

Mutt mendukung pembacaan dan penulisan empat macam format kotak surat (mailbox): mbox, MMDF, MH dan Maildir. Tipe kotak surat akan langsung dikenali secara otomatis. Pada contoh ini, kita menggunakan format mbox yang menimpan semua surat dalam satu file.

Mutt juga memiliki kemampuan untuk bekerja dengan folder-folder yang terletak di server IMAP. Bacalah "IMAP Support" pada seksi 4.11 dari manual Mutt dan website Mutt.

Ketika anda menginstal mutt pada langkah pertama di atas, sebuah file konfigurasi akan diinstal di /etc/mutt/Muttrc. Anda juga perlu menciptakan file .muttrc di direktori home anda.

Daftar Kode 4.1: Contoh .muttrc

(Jangan lupa baca manual Mutt di /usr/share/doc/mutt*)
(Semua pengaturan di sini akan menimpa pengaturan sistem di /etc/mutt/Muttrc)

# cp /etc/mutt/Muttrc ~/.muttrc
# nano -w .muttrc
set pager_context=1
set pager_index_lines=6                 # tampilkan mini-index di halaman
set menu_scroll
set pgp_verify_sig=no                   # jangan tampilkan pgp
set status_on_top                       # tempatkan baris status di atas
set sort=threads                        # urutkan berdasarkan thread surat di index

set status_format=" %r %b %f %n      Del %d      Msgs %m %l %> (%P)"
set pager_format="%-10.10i %[!%a %b %d %R]"
set date_format="!%H:%M %a %d %b     "
set index_format="%4C %Z %[%b%d] %-15.15F %s"
set folder_format="%2C %t %8s %d %N %f"

#set sendmail="/usr/bin/nbsmtp -d isp.net -h smtp.isp.net -f yourname@isp.net"

#set from="default-mailaddress"         # alamat e-mail anda
#set realname="myname"

set record="$HOME/MuttMail/sent"        # surat terkirim disimpan di sini
set delete=yes                          # hapus tanpa menanyakan ulang
set include=yes                         # kutip surat asli pada surat balasan
set fast_reply=yes                      # jangan tanya ketika membalas
set beep=no                             # jangan berisik
set markers=no                          # jangan beri tanda + pada baris yang dipotong
set confirmappend=no                    # jangan tanya untuk menyimpan ke =keep
set to_chars=" +TCF"                    # jangan beri tanda L pada surat dari milis

set folder = $HOME/MuttMail
mailboxes =gentoo-user
mailboxes =gentoo-dev
mailboxes =gentoo-announce
mailboxes =gentoo
mailboxes =freshmeat
mailboxes =duplicates
mailboxes =default
mailboxes =friends
mailboxes =junk
mailboxes =spam
mailboxes =keep

save-hook .* =keep                      # mbox default untuk menyimpan surat adalah =keep
subscribe gentoo-user gentoo-dev        # daftar ke milis-milis ini

bind pager h display-toggle-weed        # menampilkan header dengan tombol h

# simulasikan menu url lama
macro index \cb |urlview\n 'call urlview to extract URLs out of a message'
macro pager \cb |urlview\n 'call urlview to extract URLs out of a message'

# jalankan fetchmail dengan menekan tombol G
macro index G "!fetchmail -a -m 'procmail -d %T'\r"
macro pager G "!fetchmail -a -m 'procmail -d %T'\r"

# gunakan untuk mengedit .muttrc dan menerapkan pengaturan baru.... tanpa restart
macro generic ,sm ":source $HOME/.muttrc\r"
macro generic \cj "!rxvt -bg wheat -e joe $HOME/.muttrc\r"

# daftar default untuk kolom header yang akan dihapus ketika membaca e-mail
# abaikan semuanya dahulu kemudian tampilkan header yang ingin anda lihat
ignore *
unignore  Date To From: Subject X-Mailer Organization User-Agent
hdr_order Date From To Subject X-Mailer User-Agent Organization

## Mutt anda perlu diwarnai
## berikut ini adalah pewarnaan untuk empat level pesan kutipan
## dan mengganti pengaturan sistem di /etc/mutt/Muttrc

#color quoted green  default
color quoted1 magenta blue
#color quoted2 yellow default
#color quoted3 red default
#color signature cyan cyan


# pengaturan warna ini disalin dari /etc/mutt/Muttrc.color
# beri tanda komentar jika anda ingin menggunakan warna default di /etc/mutt/Muttrc
# Je vois la vie en rose :-)
color   hdrdefault      brightcyan      blue
color   header          brightwhite     blue "^from:"
color   header          brightwhite     blue   "^subject:"

color   quoted          brightgreen     blue
color   signature       brightwhite     blue

color   indicator       blue            green

color   error           red             black
mono    error           bold
color   status          black cyan
mono    status          bold
color   tree            yellow          blue

color   tilde           brightmagenta   blue
color   body            brightwhite     blue    "[-a-z_0-9.]+@[-a-z_0-9.]+"
mono    body            bold                    "[-a-z_0-9.]+@[-a-z_0-9.]+"
color   body            brightyellow    black   "^Good signature"
mono    body            bold                    "^Good signature"
color   body            brightwhite     red     "^Bad signature from.*"
mono    body            bold                    "^Bad signature from.*"
color   normal          white           blue
color   message         green           black
color   attachment      brightgreen     blue

# Akhir file...tetapi bisa ditambah lagi dan lagi dan lagi....:)

Pengaturan di atas hanyalah sebuah contoh dari .muttrc. Masih banyak pilihan lain yang dapat anda gunakan, seperti integrasi dengan GPG. Bukalah halaman http://www.dotfiles.com/index.php?app_id=27 untuk mendapatkan bantuan dan contoh-contoh lain.

Sekarang anda sudah siap untuk menguji .muttrc.

Daftar Kode 4.2: Pengujian .muttrc

$ mutt -y

Perintah di atas akan meluncurkan Mutt dengan sebuah menu yang menampilakn kotas-kotak surat yang telah anda ciptakan pada langkah pengujian kedua ketika anda menjalankan perintah fetchmail.

Tekan ? untuk mengetahui cara melakukan navigasi Mutt.

5.  SMTP

Langkah terakhir adalah menyiapkan nbsmtp, 'No-Brainer SMTP' yang akan kita gunakan untuk mengirimkan email ke server SMTP. Langkah ini adalah langkah termudah, karena anda hanya perlu menambahkan sebuah entri di file .muttrc.

domain: Domain SMTP anda, biasanya sama dengan domain pada alamat e-mail anda.

from@addr: Alamat sumber pesan yang ingin anda tetapkan pada nbsmtp. Perlu diketahui bahwa alamat ini bisa saja berbeda dengan baris "From:" pada MUA.

host: Server smtp yang ingin anda kirimkan e-mail.

Daftar Kode 5.1: Menambahkan dukungan SMTP

$ nano -w .muttrc
set sendmail="/usr/bin/nbsmtp -d isp.net -h smtp.isp.net -f urname@isp.net"

Sekarang anda sudah siap untuk mengirimkan e-mail. Pada pager atau index Mutt, tekan tombol m untuk menulis pesan baru yang akan dikirimkan ke alamat e-mail anda. Mutt akan menggunakan aturan EDITOR atau VISUAL untuk memanggil editor yang akan digunakan, kecuali anda telah mengatur editor= di .muttrc. Setelah anda selesai menulis, tekan y untuk mengirimnya. Jika tidak ada error, anda akan melihat pesan 'sending mail' kemudian 'Mail sent'.

Di .muttrc kita telah mengatur untuk menyimpan surat terkirim dengan set record="$HOME/MuttMail/sent"

Untuk menyelesaikan percobaan, jalankan kembali fetchmail untuk mendownload semua surat anda dan untuk memastikan bahwa surat yang anda kirimkan ke alamat e-mail anda sendiri tadi sampai. Ketika anda menemukan surat tersebut, tekan h untuk melihat semua header dan path lengkap pengiriman surat.

Catatan: Ada satu program lagi yang mungkin ingin anda instal, yaitu urlview. Program ini berguna untuk mengekstrak URL dari dalam surat dan mengirimkannya ke browser anda.

Daftar Kode 5.2: Instalasi urlview

# emerge urlview

Sekarang ciptakan ~/.urlview dengan menyalin file konfigurasi dari /usr/share/doc/urlview*/ dan menyesuaikan pengaturan browser.

Sekarang anda sudah memiliki sistem e-mail yang handal dan dapat dipersonalisasi. Untuk memanfaatkan fleksibilitasnya, bacalah semua manual serta dokumentasi dan carilah file-file konfigurasi para pengguna lain di internet: yaitu procmailrc dan muttrc.

6.  SMTP terotentikasi

Menggunakan nbSMTP

Jika anda harus menggunakan username dan password pada server SMTP, anda dapat mengedit perintah set sendmail di .muttrc dan menambahkan -U <username> -P <password>, seperti berikut:

Daftar Kode 6.1: Menggunakan username dan password untuk SMTP

set sendmail="/usr/bin/nbsmtp -U username -P password -d isp.net -h smtp.isp.net -f urname@isp.net"

Jika anda tidak ingin menempatkan pengaturan ini di .muttrc, anda dapat menciptakan file .nbsmtprc dengan mengisi seluruh informasi yang anda perlukan:

Daftar Kode 6.2: Contoh ~/.nbsmtprc

auth_user = username
auth_pass = password

Alternatif: Menggunakan msmtp

msmtp adalah sebuah alternatif sederhana dari nbsmtp dengan kemampuan yang hampir sama:

Daftar Kode 6.3: Instalasi msmtp

# emerge msmtp

Sekarang login sebagai user biasa dan konfigurasikan msmtp dengan menciptakan file ~/.msmtprc yang berisi informasi server SMTP. Jangan lupa perketat perizinan file!

Daftar Kode 6.4: Konfigurasi msmtp

$ nano -w .msmtprc
account default
host smtp.your_provider.net
from your_username@provider1.net
# Baca manual untuk mengetahui opsi otentikasi lain
auth login
user your_username
password your_password
# Jika server SMTP mendukung enkripsi TLS, hapus tanda komentar pada baris berikut
#tls

Sekarang perketat perizinan file:

Daftar Kode 6.5: Memperketat perizinan file konfigurasi

$ chmod 600 .msmtprc

Terakhir, edit atau tambahkan baris berikut di .muttrc

Daftar Kode 6.6: Menggunakan msmtp dengan Mutt

$ nano -w .muttrc
set sendmail="/usr/bin/msmtp"

Jalankan mutt lalu kirimkan surat ke elamat e-mail anda sendiri untuk mencobanya. Bacalah manual msmtp untuk mengetahui opsi-opsi lain dan contoh-contoh yang tersedia.



Print

Diperbarui 17 September 2006

Versi asli dari dokumen ini terakhir diupdate 18 Agustus 2011

Rangkuman: Panduan ini berisi cara penggunaan tool baris perintah handal untuk e-mail: fetchmail, procmail, mutt, nbsmtp, msmtp.

Mike Polniak
Author

Ken Nowack
Editor

John Hitchings
Contributor

Dzikri Aziz
Translator

Donate to support our development efforts.

Copyright 2001-2012 Gentoo Foundation, Inc. Questions, Comments? Contact us.