Panduan Singkat E-Mail Mutt
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 |
# 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
auth login
user your_username
password your_password
|
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.
Isi dokumen ini dilisensikan dengan lisensi Creative Commons -
Attribution / Share Alike.
|