GNU/Linux >> Belajar Linux >  >> Panels >> Webmin

Server Surat Kirim

Di halaman ini, pengenalan dasar tentang email diberikan, diikuti dengan deskripsi server email Sendmail dan modul Webmin untuk mengonfigurasinya.

Modul Konfigurasi Sendmail

Sendmail adalah MTA paling populer yang digunakan di Internet saat ini, dan telah dikembangkan sejak pertama kali. Ini disertakan sebagai standar dengan hampir semua varian sistem operasi Unix, dan bekerja sama pada semuanya. Ini memiliki banyak fitur berguna untuk perutean dan pemrosesan email, seperti alias, perutean domain, dan file penerusan yang dapat dibuat pengguna.

Sendmail memiliki pemetaan satu-ke-satu antara pengguna Unix dan kotak surat. Setiap pengguna memiliki file emailnya sendiri, biasanya di direktori /var/mail atau /var/spool/mail. Setiap kali pesan dikirim ke pengguna, pesan itu ditambahkan ke file dengan nama yang sama dengan pengguna di direktori itu, seperti /var/mail/jcameron. Sendmail tidak memiliki konsep 'pengguna email' - jika Anda ingin membuat kotak surat baru, Anda perlu menambahkan pengguna Unix baru seperti yang dijelaskan pada Pengguna dan Grup.

Sendmail dapat menerima email dengan dua cara berbeda - baik dari koneksi SMTP, atau dengan program lain yang menjalankan perintah sendmail dengan parameter yang tepat dan memasukkan email ke dalamnya sebagai input. Either way, pesan dikirim ke kotak surat pengguna lokal atau dikirim ke sistem lain. Seperti yang Anda harapkan, jika proses server Sendmail tidak berjalan maka email tidak mungkin dikirim ke sistem Anda melalui SMTP. Selain itu, email yang antri tidak akan dikirimkan.

File konfigurasi utama Sendmail diberi nama sendmail.cf, dan ditemukan di direktori /etc atau /etc/mail. Selain itu, ada file teks dan format DBM terpisah untuk domain lokal, alias penerusan email, pemetaan alamat, dan fitur lain yang akan dibahas nanti dalam bab ini. Hampir semua file tambahan ini sebenarnya dalam format database Unix DBM, tetapi dibuat dari file teks yang sesuai yang dapat diedit oleh administrator sistem (dan Webmin). Sendmail hanya membaca file DBM, dan memeriksa ulang untuk setiap pesan yang diterima sehingga setiap perubahan pada salah satu file database menjadi segera aktif.

Untuk mengatur Sendmail menggunakan Webmin, Anda harus mengunjungi modul Konfigurasi Sendmail, yang dapat ditemukan di bawah kategori Server. Dengan asumsi Anda telah menginstal server, halaman utama modul akan terlihat seperti contoh di bawah ini.

Layar utama Sendmail Mail Server

Jika modul tidak dapat menemukan program server Sendmail atau file konfigurasi utama pada sistem Anda, pesan kesalahan untuk efek tersebut akan ditampilkan sebagai gantinya. Periksa CD atau situs web distribusi Linux Anda untuk paket sendmail, dan instal menggunakan modul Paket Perangkat Lunak. Jika tersedia paket lain yang namanya dimulai dengan sendmail- (seperti sendmail-cf atau sendmail-docs), instal juga.

Kesalahan ini juga dapat terjadi jika Anda telah menginstal Sendmail atau file konfigurasinya di lokasi yang berbeda dengan yang diharapkan modul. Secara default, ini mengasumsikan bahwa Anda akan menggunakan paket-paket yang disertakan dengan sistem operasi Anda, tetapi ini sering kali kedaluwarsa. Untuk alasan ini, Anda mungkin telah mengkompilasi dan menginstal versi terbaru di direktori yang berbeda. Jika demikian, lihat Mengonfigurasi modul Konfigurasi Sendmail bagian di bawah ini untuk petunjuk tentang cara mengubah program dan jalur file konfigurasi.

Sendmail telah melewati banyak rilis berbeda selama bertahun-tahun, dan pada saat itu file konfigurasi utamanya (biasanya ditemukan di /etc/sendmail.cf) telah berubah. Jika Anda menjalankan versi yang sangat lama atau menggunakan file konfigurasi lama, halaman utama modul akan menampilkan pesan kesalahan yang menunjukkan bahwa format file tidak didukung. Konfigurasi yang lebih lama dari versi 7 memicu kesalahan ini, tetapi untungnya jarang ditemukan pada sistem Unix modern.

Jika tidak ada pesan kesalahan yang muncul di halaman utama, tabel ikon yang ditunjukkan pada gambar di atas akan ditampilkan. Masing-masing dapat diklik untuk mengakses salah satu fitur Sendmail, seperti aliasing email, perutean domain, atau antrian email. Bagian selanjutnya dari bab ini menjelaskan cara menggunakan halaman dan formulir di bawah masing-masing ikon. Di samping nama setiap ikon (seperti Pemetaan Alamat ) adalah nama internal fitur konfigurasi Sendmail dalam tanda kurung yang dikontrolnya, seperti virtuser. Nama-nama ini sebagian besar berguna untuk administrator berpengalaman yang ingin mengetahui bagaimana ikon dalam modul berhubungan dengan file dan arahan konfigurasi yang sebenarnya.

Beberapa ikon ketika diklik mungkin menampilkan pesan seperti *Konfigurasi Sendmail Anda tidak mengaktifkan fitur pemetaan alamat (virtuser)*. Pada banyak sistem operasi, file konfigurasi Sendmail utama tidak memiliki semua fitur yang tersedia yang diaktifkan secara default. Untuk membuat halaman ikon yang dipilih tersedia, ikuti instruksi di bagian *Menambahkan fitur Sendmail dengan M4* nanti di bab ini.

Jika proses server Sendmail sedang berjalan, tombol berlabel Stop Sendmail akan muncul bagian bawah halaman utama. Seperti namanya, mengklik tombol ini akan mematikan server sehingga sistem Anda tidak lagi menerima koneksi SMTP, dan tidak lagi memindai antrian email. Sebaliknya, ketika Sendmail tidak menjalankan Start Sendmail tombol akan muncul sebagai gantinya, yang dapat digunakan untuk memulai proses server.

Jika Anda ingin Sendmail berjalan sepanjang waktu, gunakan modul Bootup dan Shutdown agar proses servernya dimulai saat boot. Sebagian besar paket akan menyertakan skrip tindakan yang dapat diaktifkan, dan bahkan dapat diaktifkan secara default. Jika tidak, Anda perlu membuat tindakan yang menjalankan perintah /usr/sbin/sendmail -bd -q30m saat boot.

Mengedit domain lokal dan penyamaran domain

Ketika Sendmail menerima pesan email melalui koneksi SMTP, itu perlu bekerja apakah itu harus dikirim secara lokal atau diteruskan ke server lain. Ini dilakukan dengan melihat alamat Ke pesan, khususnya bagian domain setelah @. Domain dibandingkan dengan daftar domain lokal, dan jika kecocokan ditemukan, email dikirim ke kotak surat pengguna yang namanya ada di sebelah kiri @ di alamat Ke. Atau jika tidak ada pengguna seperti itu, pesan pentalan dibuat dan dikirim kembali ke pengirim asli.

Jika domain bukan lokal, Sendmail akan mencari server email untuk domain tersebut dan mencoba menyambungkannya untuk mentransfer pesan. Inilah yang biasanya terjadi ketika klien di jaringan yang sama terhubung untuk mengirim email. Namun, masalah akan terjadi jika Sendmail mencoba menyambung kembali ke dirinya sendiri, yang dapat terjadi jika DNS mengatakan bahwa itu adalah server email untuk domain yang tidak ada dalam daftar domain lokalnya. Jika ini terjadi, pesan pentalan akan dikirim kembali ke pengirim, berisi teks seperti surat yang dikirimkan kembali ke saya.

Secara default, daftar domain lokal ini hanya berisi nama host lengkap sistem Anda, seperti server.example.com . Jika Anda menyiapkan server untuk menerima email dari Internet untuk beberapa domain (seperti example.com ), itu perlu ditambahkan ke daftar. Langkah-langkah untuk melakukannya adalah:

  1. Pada halaman utama modul, klik Local Domains ikon. Halaman yang berisi kotak teks di mana semua domain lokal saat ini terdaftar akan ditampilkan.
  2. Tambahkan domain atau hostname tambahan ke daftar sebanyak yang Anda suka, satu per baris. Sangat mungkin bagi sebuah server untuk menerima email untuk beberapa domain, terutama jika akan digunakan untuk hosting virtual. Seperti yang dijelaskan di pendahuluan, email hanya akan dikirim ke sistem Anda terlebih dahulu jika ada data DNS MX yang sesuai untuk setiap domain.
  3. Klik tombol Simpan tombol di bagian bawah halaman untuk mengaktifkannya.

Sendmail akan selalu menerima pesan email pengiriman lokal di mana alamat Ke tidak berisi domain, hanya nama pengguna. Ini sering dikirim oleh program yang berjalan pada sistem itu sendiri, seperti daemon Cron atau perintah email.

Sisi lain dari daftar domain lokal adalah penyamaran domain. Fitur Sendmail ini memungkinkan Anda untuk mengatur domain yang ditambahkan ke email yang dikirim dari sistem Anda ketika tidak ada yang ditentukan, seperti dengan perintah mail. Sendmail juga dapat memodifikasi domain alamat Dari dari pesan yang diterima melalui SMTP, seperti yang dikirim melalui klien email.

Untuk menyiapkan domain masquerading, langkah-langkah yang harus diikuti adalah:

  1. Pada halaman utama modul, klik Domain Masquerading ikon.
  2. Isikan Masquerade as domain bidang dengan nama domain yang harus ditambahkan ke alamat Dari keluar yang tidak memilikinya, seperti example.com . Jika kolom dibiarkan kosong, tidak ada modifikasi domain yang akan dilakukan oleh Sendmail.
  3. Agar Sendmail menulis ulang alamat Dari pesan dari domain lain, isi Domain yang akan disamarkan bidang. Ini dapat berguna jika beberapa klien email yang mengirim pesan melalui server Anda bersikeras menggunakan domain yang salah.
  4. Klik tombol Simpan tombol untuk mengaktifkan penyamaran.

Pada sebagian besar server email, Anda tidak perlu repot mengonfigurasi penyamaran karena semua email dikirim oleh program klien menggunakan SMTP. Semua klien email mengizinkan pengguna untuk menentukan alamat Dari yang lengkap, yang harus menyertakan domain yang benar.

Mengelola email alias

Alias ​​email menentukan bahwa email yang diterima oleh server Anda untuk kotak surat tertentu harus diteruskan ke tujuan yang berbeda. Tujuan itu bisa berupa alamat email lain, file alamat, file lokal, atau bahkan input ke suatu program. Mereka dapat berguna untuk menyiapkan kotak surat palsu yang benar-benar mengirim email ke orang sungguhan, seperti [email protected] atau [email protected] . Alias ​​​​dapat memiliki nama yang sama dengan pengguna Unix, dalam hal ini ia akan mencegat semua email ke pengguna tersebut dan meneruskannya ke tujuan yang berbeda.

Pada kebanyakan sistem operasi, Sendmail memiliki beberapa alias yang ditetapkan secara default untuk pengguna sistem seperti bin, none dan uucp, yang semuanya meneruskan email ke root. Juga akan ada alias postmaster, yang harus dimiliki setiap server email, dan yang harus meneruskan pesan ke seseorang yang bertanggung jawab atas server email. Biasanya, ini akan menjadi pengguna root juga.

Untuk membuat alias email Anda sendiri menggunakan Webmin, langkah-langkah yang harus diikuti adalah:

  1. Di halaman utama modul, klik Mail Alias ikon. Anda akan dibawa ke halaman yang mencantumkan semua alias yang ada dan tujuannya, dengan formulir di bagian atas untuk menambahkan yang baru. Tangkapan layar di bawah ini menunjukkan sebuah contoh.
  2. Di Alamat bidang Buat Alias formulir, masukkan nama pengguna atau kotak surat untuk alias ini (bagian alamat di sebelah kiri @). Jika server Anda menghosting beberapa domain, alias akan meneruskan email yang dikirim ke nama yang dimasukkan di salah satu domain tersebut. Misalnya, jika server Anda menerima email untuk foo.com dan bar.com , lalu alias yang disebut penjualan akan meneruskan email ke [email protected] dan [email protected] . Jika Anda ingin dapat meneruskan nama kotak surat yang sama di beberapa domain secara berbeda, lihat bagian di bawah berjudul *Mengelola pemetaan alamat virtual*.
  3. Dengan asumsi Anda benar-benar ingin alias ini digunakan oleh Sendmail, biarkan Diaktifkan? bidang disetel ke Ya . Mengubahnya menjadi Tidak akan menyebabkan alias diabaikan. Bidang ini dapat digunakan saat mengedit alias untuk menonaktifkan sementara daripada menghapusnya sama sekali.
  4. Alias ​​untuk field menentukan kemana email ke alias ini akan dikirim. Opsi berikut tersedia dari menu :
    Sama sekali tidak ada yang akan dilakukan dengan email yang diterima. Tidak masuk akal untuk memilih opsi ini saat membuat alias baru.
    Alamat email
    Email akan diteruskan ke pengguna atau alamat yang dimasukkan ke kolom yang berdekatan. Berhati-hatilah untuk tidak menyiapkan loop penerusan dengan mengirim email kembali ke alamat alias lagi! Jika Anda membuat alias yang memiliki nama yang sama dengan pengguna Unix dan benar-benar ingin email dikirim ke kotak suratnya serta beberapa tujuan lainnya, masukkan nama pengguna yang diawali dengan garis miring terbalik (seperti \jcameron ) ke bidang ini. Garis miring terbalik memberi tahu Sendmail untuk mengabaikan pemeriksaan alias.
    Alamat dalam file
    Email ke alias akan dikirim ke semua alamat di file teks yang jalur filenya dimasukkan ke bidang teks yang berdekatan. Setiap alamat harus berada pada baris yang terpisah. Opsi ini berguna untuk membuat milis sederhana, dan alias jenis ini digunakan oleh pengelola daftar Majordomo (tercakup di MajordomoListManager).
    Tulis ke file
    Teks lengkap termasuk semua header email yang diterima oleh alias akan ditambahkan ke file yang jalurnya dimasukkan ke dalam kotak teks.
    Masukkan ke program
    Program yang jalur dan parameternya dimasukkan ke dalam kotak teks akan dijalankan, dan teks lengkap termasuk semua header email yang diterima oleh alias akan dimasukkan ke dalamnya sebagai masukan. Alias ​​jenis ini paling berguna bagi pemrogram yang ingin melakukan pemrosesan kustom atau pemfilteran pesan email mereka sendiri. Program biasanya dijalankan sebagai daemon pengguna Unix, bukan sebagai root atau pengguna dengan nama yang sama dengan aliasnya.
    Balasan otomatis dari file
    Saat email dikirim ke alias, isi file yang ditentukan dalam kotak teks yang berdekatan akan dikirim kembali ke pengirim aslinya. Lihat bagian *Membuat alias balasan otomatis* di bawah untuk informasi selengkapnya tentang menggunakan alias jenis ini.
    Terapkan file filter
    Email yang dikirim ke alias akan diproses sesuai aturan dalam file filter yang dimasukkan ke dalam kotak teks, yang dapat diteruskan ke tujuan yang berbeda tergantung pada isi pesan. Lihat bagian *Membuat alias filter* nanti di bab ini untuk detail selengkapnya. Dimungkinkan untuk sebuah alias memiliki beberapa tujuan. Untuk menambahkan lebih dari satu, Anda perlu mengedit ulang alias ini setelah menyimpannya dan mengisi baris dengan dipilih di bagian bawah Alias ​​to meja.
  5. Klik Simpan agar alias ditambahkan ke daftar, dan segera diaktifkan.


Daftar email alias

Seperti biasa di Webmin, Anda dapat mengedit alias yang ada dengan mengklik namanya di daftar di halaman Mail Aliass. Ini akan memunculkan formulir pengeditan yang berisi semua bidang yang sama dengan formulir pembuatan, tetapi memiliki Simpan dan Hapus tombol di bagian bawah sebagai gantinya. Yang pertama akan memperbarui alias dengan perubahan apa pun yang telah Anda buat, sedangkan yang kedua akan menghapusnya secara permanen.

Jika pengguna Unix memiliki file bernama .forward di direktori home-nya, email yang biasanya dikirimkan ke file emailnya akan dikirim ke alamat yang tercantum dalam file .forward. Dalam banyak hal, file-file ini setara dengan alias yang dapat dibuat oleh pengguna individu, bukan oleh administrator sistem. Bahkan dimungkinkan untuk file .forward berisi entri yang memberi tahu Sendmail untuk mengirim email ke daftar alamat di file lain, memasukkannya ke program sebagai input, atau menambahkannya ke file.

Modul ini tidak mendukung pengeditan file .forward. Namun, Usermain mengizinkan pengguna normal untuk mengedit file penerusan mereka sendiri menggunakan antarmuka berbasis web yang hampir identik dengan yang dijelaskan di bagian ini.

Mengonfigurasi relai

Pada hari-hari awal Internet, server email dapat dengan aman mengirimkan email ke domain lokal dan meneruskan semua email lainnya ke MTA lain, terlepas dari sumbernya. Saat ini, mengizinkan server Anda untuk meneruskan email apa pun yang diterimanya adalah undangan ke spammer untuk menggunakan sistem Anda sebagai relai. Server yang dikonfigurasi dengan baik hanya boleh menerima email untuk domain non-lokal dari host klien tepercaya, seperti yang ada di jaringan perusahaan atau LAN rumah. Email yang dikirim ke domain lokal aman, dan dapat diterima dari mana saja.

Jika Sendmail di sistem Anda adalah relai terbuka (yang menerima email non-lokal dari mana saja), orang yang mengirimkan jutaan pesan email spam dapat menggunakannya untuk menutupi jejak mereka. Bahkan jika Anda menjalankan server email kecil untuk perusahaan kecil yang menurut Anda tidak akan diketahui oleh spammer, tetap merupakan ide yang sangat buruk untuk membiarkan sistem Anda terbuka untuk menyampaikan.

Untuk alasan ini, paket Sendmail yang datang dengan distribusi Linux modern dikonfigurasi secara default untuk mencegah server menerima email non-lokal dari mana saja kecuali sistem yang sama. Jika Anda menyiapkan server email untuk perusahaan atau untuk LAN rumah Anda, Anda juga harus mengizinkan host lain untuk merelai email:

  1. Pada halaman utama modul, klik Relay Domains ikon untuk membuka formulir untuk memasukkan jaringan dan domain relai.
  2. Di Domain yang direlay adalah bidang yang diizinkan, tambahkan alamat jaringan yang ingin Anda izinkan untuk direlai oleh klien. Itu harus dimasukkan tanpa nol tambahan, misalnya 192.168.1 . Lebih dari satu jaringan dapat dimasukkan, seperti halnya alamat IP tertentu. Anda juga dapat memasukkan nama domain seperti foo.com yang Sendmail akan izinkan untuk menyampaikan. Setiap pesan email yang diterima (apa pun sumbernya) yang ditujukan untuk domain tertentu akan dikirimkan ke server yang sesuai. Ini dapat berguna jika sistem Anda adalah gerbang email untuk domain lain yang tidak dapat dijangkau secara langsung oleh seluruh Internet, seperti yang dijelaskan di bagian *Mengonfigurasi perutean domain*.
  3. Klik tombol Simpan tombol untuk mengaktifkan daftar domain relai baru.

Salah satu efek samping dari pembatasan pengiriman Sendmail adalah bahwa tidak ada cara untuk menggunakan sistem Anda sebagai server untuk email keluar saat Anda terhubung dari jaringan yang tidak tepercaya - pada kenyataannya, itulah intinya. Kadang-kadang meskipun dapat mengganggu, misalnya jika Anda dial ke banyak ISP yang berbeda dan tidak ingin mengkonfigurasi ulang klien email Anda untuk menggunakan server email keluar yang berbeda untuk masing-masing ISP. Di dunia yang ideal, dimungkinkan untuk menggunakan server email Anda sendiri untuk email keluar dari mana pun Anda terhubung, tetapi ini biasanya tidak mungkin tanpa mematikan batasan relai sama sekali.

Solusi terbaik untuk masalah ini adalah otentikasi SMTP, di mana klien login ke Sendmail sebelum menyampaikan email. Sayangnya, Webmin belum memiliki cara mudah untuk menyiapkannya. Solusi lain melibatkan kepercayaan klien yang membuat koneksi POP3 sebelum SMTP, yang dilakukan sebagian besar program klien email. Namun, ini memerlukan kerjasama antara server POP3 dan Sendmail, yang biasanya merupakan program yang tidak terkait. Pada saat penulisan, Webmin juga tidak mendukung konfigurasinya.

Mengelola pemetaan alamat virtual

Pemetaan alamat mirip dengan alias, kecuali bahwa pemetaan hanya berlaku untuk email yang dikirim ke pengguna dan domain tertentu, bukan ke pengguna di domain apa pun seperti yang dilakukan oleh alias. Perbedaan lainnya adalah bahwa pemetaan alamat hanya dapat meneruskan email ke satu alamat, bukan ke program, file, atau daftar alamat. Namun, batasan ini dapat diatasi dengan menggabungkan pemetaan dan alias.

Anda dapat menggunakan pemetaan alamat untuk mengirim email ke [email protected] dan [email protected] dikirim ke tujuan akhir yang berbeda, meskipun kedua domain dihosting oleh server Anda. Ini sangat berguna jika Anda mengelola sejumlah besar domain email untuk pelanggan yang berbeda, banyak dari mereka ingin memiliki alamat yang sama (seperti penjualan ) di domain mereka.

Pemetaan alamat juga dapat digunakan untuk mengalihkan semua email ke domain tertentu ke pengguna yang sama di domain yang berbeda, sehingga misalnya email ke [email protected] dan [email protected] akan dikirim ke [email protected] dan [email protected] masing-masing. Lebih baik lagi, Anda dapat memiliki semua email ke alamat mana pun di domain yang dikirim ke satu alamat lain, yang berguna untuk POP3 mail client Fetchmail Mail Retrieval.. Untuk membuat pemetaan alamat baru, langkah-langkah yang harus diikuti adalah:

  1. Pada halaman utama modul, klik Pemetaan Alamat ikon. Halaman yang mencantumkan semua pemetaan yang ada akan ditampilkan, dengan formulir di bagian atas berlabel Buat Pemetaan untuk menambahkan yang baru.
  2. Jika Anda ingin membuat pemetaan untuk email hanya ke satu alamat, pilih Alamat di Email untuk bidang, dan masukkan alamat ke dalam kotak teks yang berdekatan. Tidak seperti alias, harus dimasukkan secara lengkap seperti [email protected] . Jika Anda membuat pemetaan untuk semua email ke domain, pilih Domain dan masukkan domain lengkap atau nama host ke kolom teks di sebelahnya, seperti example.com . Bagaimanapun, domain di alamat atau domain yang dimasukkan harus muncul di daftar domain lokal Sendmail, dijelaskan di Mengedit domain lokal bagian sebelumnya dalam bab ini.
  3. Jika tujuan pemetaan adalah satu alamat, di Kirim ke pilih bidang Alamat dan isi kotak teks di sebelahnya dengan alamat lengkap (seperti [email protected] ) atau nama kotak surat (seperti jcameron ). Jika Domain dipilih untuk Email untuk bidang, Anda diizinkan untuk memilih Domain pilihan untuk bidang ini juga. Jika demikian, Anda harus memasukkan nama domain (seperti foo.com ) ke dalam kotak teks yang berdekatan tempat semua email yang dikirim ke domain asli akan diteruskan. Kesalahan pengembalian terakhir opsi di Kirim ke bidang dapat dipilih jika Anda ingin pesan kesalahan tertentu dikembalikan ke pengirim. Jika dipilih, jenis kesalahan harus dipilih dari menu di sebelahnya, dan pesan kesalahan yang lebih rinci dimasukkan ke dalam kotak teks. Opsi ini dapat berguna untuk mengirim kembali pesan pentalan yang menjelaskan mengapa alamat tertentu atau seluruh domain tidak lagi dapat dijangkau.
  4. Klik tombol Buat untuk menambahkan pemetaan alamat ke daftar yang ditampilkan di bawah formulir. Itu akan segera dibuat aktif.

Seperti halnya alias, Anda dapat mengedit atau menghapus pemetaan yang ada dengan mengeklik alamatnya dalam daftar. Ini akan memunculkan formulir yang identik dengan yang digunakan untuk membuat pemetaan, tetapi dengan Simpan dan Hapus tombol di bagian bawah.

Jika ada pemetaan untuk domain dan alamat di domain itu, Sendmail akan menggunakan yang kedua untuk email ke alamat tertentu, dan yang pertama untuk email ke kotak surat lain di domain. Akibatnya, pemetaan alamat yang lebih spesifik lebih diutamakan daripada yang lebih umum. Urutan mereka dalam daftar di halaman Pemetaan Alamat tidak masalah sama sekali.

Jika Anda ingin membuat pemetaan yang meneruskan email ke program, file, atau daftar alamat, Anda juga perlu membuat alias. Pemetaan alamat akan mengirim email ke alias, dan kemudian alias akan meneruskannya ke tujuan sebenarnya. Biasanya alias harus menyebutkan nama yang terkait dengan pemetaan alamat, seperti jcameron-example-com untuk pemetaan alamat virtual [email protected] .

Pada sistem dengan banyak domain dan pengguna, kemungkinan besar dua orang ingin memiliki nama kotak surat yang sama di domain yang berbeda, seperti [email protected] dan [email protected] . Karena Sendmail pada akhirnya hanya mengirimkan email ke file email pengguna Unix, dan dua pengguna Unix tidak dapat memiliki nama yang sama, ini bisa menjadi masalah. Solusi biasa adalah membuat pengguna bernama seperti bob-foo dan bob-bar , dan siapkan pemetaan alamat yang sesuai untuk meneruskan email kepada mereka. Satu-satunya kelemahan adalah pengguna harus login ke server POP3 sebagai bob-foo atau bob-bar bukannya hanya bob .

Mengonfigurasi perutean domain

Fitur perutean domain Sendmail dapat digunakan untuk meneruskan semua email ke domain tertentu ke server yang berbeda. Ini sangat berguna jika DNS diatur untuk mengirim email untuk beberapa domain ke sistem Anda, yang kemudian harus diteruskan ke MTA lain yang tidak dapat dijangkau oleh seluruh Internet. Perutean juga dapat digunakan untuk mengganti metode normal yang digunakan Sendmail untuk menentukan host mana yang akan dikirimi email, yang dapat berguna pada jaringan di mana konektivitas tidak lengkap atau beberapa informasi DNS tidak tersedia untuk semua host.

Untuk menambahkan aturan perutean domain baru, ikuti langkah-langkah di bawah ini:

  1. Pada halaman utama modul, klik Perutean Domain ikon. Halaman yang mencantumkan perutean yang ada (jika ada) akan ditampilkan, di atasnya adalah formulir untuk menambahkan yang baru.
  2. Agar email hanya diarahkan ke domain atau host tertentu ke tempat lain, pilih Host opsi di Email untuk bidang dan masukkan domain atau nama host ke bidang yang berdekatan. Sebagai alternatif, jika Anda ingin email untuk semua host dalam domain dirutekan, pilih Domain sebagai gantinya dan masukkan nama domain ke dalam bidangnya. Perutean semacam ini untuk domain example.com tidak akan mempengaruhi pengiriman email ke alamat di domain (seperti [email protected] ), tetapi hanya mengirim email ke alamat pada host di bawah domain (seperti [email protected] ). Biasanya, ini bukan yang Anda inginkan. Setiap domain atau nama host yang Anda masukkan harus ada dalam daftar yang Sendmail izinkan untuk menyampaikan, seperti yang dijelaskan dalam Mengonfigurasi relai bagian sebelumnya dalam bab ini.
  3. Dari Pengiriman menu, pilih SMTP . Bidang ini memberi tahu Sendmail protokol mana yang akan digunakan saat merutekan email untuk domain. Sebagian besar opsi lain tidak berguna, karena berkaitan dengan UUCP yang hampir tidak digunakan lagi.
  4. Dalam Kirim ke bidang, masukkan nama host sistem ke mana email harus diteruskan. Abaikan MX untuk pengiriman SMTP kotak harus dicentang juga, sehingga Sendmail selalu mengirimkan langsung ke host ini daripada mencoba pencarian DNS lain untuk menentukan tujuan yang benar.
  5. Tekan tombol Buat tombol untuk menambah dan mengaktifkan perutean domain baru. Anda harus mengujinya untuk memastikan itu benar-benar berfungsi, karena kesalahan kecil (seperti memilih Domain bukannya Host ) dapat mencegah rute bekerja.

Seperti pada halaman lain yang serupa dalam modul, aturan perutean yang ada dapat diedit atau dihapus dengan mengklik nama domainnya dalam daftar di halaman Perutean Domain. Tidak ada cara untuk menonaktifkan aturan sementara, seperti halnya dengan alias.

Sendmail juga dapat dikonfigurasi untuk meneruskan semua email non-lokal ke server tertentu, bukan hanya email ke domain tertentu. Ini berguna jika perusahaan atau ISP Anda memiliki server email pusat yang ingin Anda kirimi email, daripada membuat sistem Anda terhubung ke server tujuan sebenarnya. Bagian selanjutnya menjelaskan cara mengatur ini.

Mengedit opsi Sendmail global

Opsi global mengontrol hal-hal seperti ukuran pesan maksimum, jumlah hari untuk mencoba ulang email, batas rata-rata pemuatan, dan server email keluar. Langkah-langkah di bawah ini menjelaskan cara mengedit beberapa yang paling berguna:

  1. Pada halaman utama modul, klik Opsi Kirim Email ikon. Formulir untuk mengedit opsi global (ditampilkan di bawah) akan ditampilkan.
  2. Saat Kirim email keluar melalui host bidang diatur ke *Kirim langsung*, Sendmail akan mencari server email yang benar untuk pesan non-lokal dan menyambungkannya untuk mengirim email. Namun, jika Anda memilih opsi kedua dan memasukkan nama host ke dalam kotak teks, semua pesan kecuali untuk pengguna lokal akan dikirim ke host tersebut. Biasanya, ini akan menjadi server email pusat di ISP Anda atau di jaringan perusahaan Anda. Jika ada aturan perutean domain untuk suatu alamat, aturan tersebut akan diprioritaskan daripada kumpulan server apa pun yang digunakan dalam bidang ini.
  3. Mode pengiriman bidang mengontrol bagaimana Sendmail memproses pesan masuk. Opsi yang tersedia adalah :Latar Belakang atau *Default *Dalam mode ini, email langsung diterima dari klien dan kemudian dikirim ke tujuan dengan proses latar belakang yang terpisah. Ini biasanya yang Anda inginkan. *Antri saja* atau *Ditangguhkan *Bila salah satu mode ini dipilih, Sendmail hanya akan menambahkan pesan masuk ke antrean emailnya. Hanya ketika antrian secara eksplisit dihapus, mereka akan dikirim ke tujuan mereka. Ini dapat berguna jika sistem Anda tidak selalu terhubung ke Internet, atau jika Anda ingin kontrol eksplisit saat server mengirimkan pesan. Ketika pesan diterima dalam salah satu mode ini, Sendmail tidak melakukan validasi sumber atau alamat tujuan, yang sebaliknya akan menyebabkan masalah jika sistem Anda terputus dari jaringan. *Interaktif *Mode ini mirip dengan Latar Belakang, kecuali bahwa email dikirim melalui proses yang sama yang menerimanya dari klien. Ini berarti bahwa klien harus menunggu hingga Sendmail mentransfer pesan mereka ke server berikutnya atau tujuan, yang mungkin memakan waktu lama. Namun, ini mengurangi jumlah proses yang harus dijalankan Sendmail.
  4. Opsi port SMTP bidang dapat digunakan untuk mengatur port TCP yang Sendmail dengarkan untuk koneksi SMTP. Nilai sebenarnya yang dapat dimasukkan bisa sangat rumit, tetapi jika Anda ingin sistem Anda menerima koneksi dari mana saja pada port SMTP standar, Anda harus memasukkan hanya Name=MTA. Pada beberapa sistem operasi ini bukan default, dan Sendmail hanya menerima koneksi dari localhost.
  5. Rata-rata beban maksimum untuk pengiriman bidang dapat digunakan untuk mengatur rata-rata beban di atas mana Sendmail tidak akan mengirim pesan. Rata-rata beban adalah perkiraan kasar jumlah proses yang berjalan pada sistem Anda pada suatu saat, seperti yang dijelaskan dalam bab 11. Opsi ini dan opsi berikutnya berguna untuk membatasi jumlah waktu CPU yang dapat digunakan Sendmail di sistem Anda , meskipun yang terakhir lebih berguna. Jika Default dipilih, server akan terus memproses antrian email dan mengirim pesan berapa pun rata-rata bebannya.
  6. Untuk menetapkan rata-rata pemuatan di atas mana Sendmail tidak akan lagi menerima pesan baru, masukkan nilai untuk Rata-rata pemuatan maksimum untuk penerimaan bidang. Ketika level ini tercapai, server akan menutup port SMTP hingga beban turun kembali di bawahnya lagi. Biasanya, apa pun yang Anda masukkan harus lebih rendah dari batas yang ditetapkan untuk Rata-rata beban maksimum untuk pengiriman field, sehingga antrian surat tetap diproses meskipun bebannya tinggi. Saat Default dipilih, Sendmail akan menerima koneksi baru terlepas dari beban rata-rata.
  7. Waktu sebelum menyerah field menentukan berapa lama Sendmail akan mencoba mengirim email ke server jarak jauh yang tidak dapat dihubungi sebelum mengembalikan pesan pentalan ke pengirim. Nilai yang Anda masukkan harus berupa angka yang diikuti dengan d untuk hari atau h untuk jam. Itu hanya boleh diubah jika sistem Anda kemungkinan besar akan terputus dari Internet lebih lama dari standar 5 hari, dan Anda tidak ingin pesan dalam antrean terpental.
  8. Mirip Waktu sebelum mengirim peringatan field menentukan waktu Sendmail akan menyimpan pesan dalam antrian sebelum mengirim peringatan ke pengirim asli. Jika sistem Anda adalah server surat sekunder untuk beberapa domain atau sering terputus dari jaringan, itu harus ditingkatkan ke waktu yang sama dengan bidang sebelumnya.
  9. Untuk mengubah alamat tujuan Sendmail mengirim pesan fatal atau terpental ganda, masukkan alamat baru di bidang *Kirim pesan kesalahan ke*. Ketika Postmaster dipilih, mereka akan dikirim ke kotak surat Postmaster, yang biasanya merupakan alias untuk root.
  10. Untuk membatasi jumlah ruang disk yang akan digunakan Sendmail untuk pesan antrean, isi Ruang disk kosong minimum bidang. Jika jumlah blokir gratis turun di bawah level ini, pesan masuk baru tidak akan diterima lagi. Ukuran pasti dari sebuah blok tergantung pada jenis sistem file yang digunakan, tetapi biasanya
  11. dalam ukuran kB atau 512 byte.
  12. Untuk menghentikan pengiriman pesan berukuran besar melalui server email Anda, isi Ukuran pesan maksimum bidang. Setiap email yang lebih besar dari jumlah byte yang dimasukkan akan ditolak saat diterima. Jika Anda memiliki koneksi jaringan yang lambat dan pengguna klien yang tidak tepercaya, opsi ini dapat berguna untuk menghemat bandwidth.
  13. Terakhir, klik Simpan dan Terapkan untuk menyimpan opsi global baru. Webmin akan secara otomatis memulai ulang Sendmail agar Anda dapat mengaktifkannya.


Halaman opsi Sendmail

Melihat antrian email

Ketika Sendmail menerima pesan, itu ditempatkan ke dalam antrian surat. Jika dapat segera dikirim ke tujuannya, maka akan segera dihapus dari antrian - namun, jika beberapa kesalahan sementara terjadi saat mengakhiri maka akan tetap diantrekan untuk diproses nanti. Proses server Sendmail membuat pemeriksaan pesan dalam antrian secara berkala, mencoba ulang setiap pesan pada interval yang lebih lama dan lebih lama. Akhirnya setelah pesan berada dalam antrian terlalu lama (biasanya 5 hari), itu akan dihapus dan email bouncing dikirim kembali ke pengirim aslinya.

Sebagian besar pesan yang berada dalam antrean untuk waktu yang lama ada di sana karena server email tujuan sedang tidak aktif atau tidak dapat dijangkau. Penyebab umum lainnya adalah kesalahan sementara yang dilaporkan oleh MTA jarak jauh, seperti kurangnya ruang disk. Webmin memungkinkan Anda melihat pesan dalam antrean dan bahkan menghapusnya dengan mengikuti langkah berikut :

  1. Pada halaman utama modul, klik Antrian Surat ikon untuk membuka halaman yang mencantumkan detail pesan yang diantrekan. Jumlah email dalam antrian ditampilkan di bawah ikon, sehingga Anda dapat melihat berapa lama secara sekilas.
  2. Pada halaman antrian surat, ID, pengirim, tujuan, subjek dan ukuran semua pesan antrian ditampilkan dalam sebuah tabel. Di kolom terakhir adalah status saat ini, yang menunjukkan apa yang coba dilakukan Sendmail dengan pesan saat ini. Mengirim akan muncul saat Sendmail mencoba menyambung ke server jauh, dan Ditangguhkan akan ditampilkan bersama dengan alasan ketika koneksi telah dicoba dan gagal. Jika antrian berisi lebih dari 20 pesan, hanya 20 pesan pertama yang akan ditampilkan. Untuk menelusuri sisanya, gunakan tombol panah kiri dan kanan yang muncul di atas daftar.
  3. Untuk melihat isi email yang sebenarnya, klik ID-nya di daftar antrian. Semua tajuk, badan teks, dan lampiran apa pun akan ditampilkan. Untuk melihat lampiran, cukup klik ikonnya. Untuk menghapus pesan ini saja dari antrean, tekan tombol Hapus tombol di bagian bawah halaman. Jika email terkunci karena sedang dikirim, Webmin akan menampilkan pesan kesalahan beserta tombol berlabel Tetap hapus paksa yang dapat Anda klik untuk mengganti kunci. Ini dapat menyebabkan pesan hanya terkirim sebagian, dan karenanya tidak disarankan.
  4. Untuk menghapus beberapa pesan dari antrean, pilih pesan terlebih dahulu menggunakan kotak centang di samping ID mereka dan Pilih semua dan Balikkan pilihan link pada halaman daftar antrian. Kemudian klik Hapus pesan yang dipilih tombol untuk menyingkirkan orang-orang yang telah Anda pilih. Untuk mengganti kunci pada email yang dipilih, periksa Bahkan jika terkunci kotak dulu. Setelah Anda menekan tombol Hapus tombol, halaman yang mencantumkan ID dan hasil penghapusan dari setiap pesan yang dipilih akan ditampilkan. Penghapusan bisa gagal jika pesan tidak lagi dalam antrian, atau jika saat ini terkunci.

Meskipun Sendmail akan mencoba kembali pesan dalam antrean secara otomatis, Anda dapat memaksanya untuk mencoba mengirimkan semua pesan antrean segera menggunakan Webmin. Ini dapat berguna jika Anda memiliki koneksi Internet dial-up dan telah mengantri beberapa email saat terputus. Langkah-langkah untuk flush antrian adalah:

  1. Pada halaman utama modul, klik Antrian Surat ikon untuk menampilkan daftar pesan yang antri.
  2. Selama antrian tidak kosong, tombol berlabel *Flush Mail Queue* akan terlihat di bagian bawah halaman. Klik untuk memulai pemrosesan segera semua pesan yang menunggu.
  3. A page showing the output from Sendmail as it attempts to deliver queued email will be displayed. If you have a large queue containing messages for down remote servers, it may take a long time to completely appear.

Membaca email pengguna

As the introduction explains, Sendmail stores messages received by users in files in the /var/mail or /var/spool/mail directory. These are read and emptied by the POP3 server, command-line mail clients like pine or elm, or web-based mail clients like Usermin. However, this Webmin module can also act as a simple mail client, allowing you the system administrator to read any user's email.

This feature is useful for deleting large messages is user mailboxes that would otherwise take a long time to download over a dialup POP3 connection. It also allows you to read email for system users such as root without needing to telnet in or run a separate mail client. More controversially, on a multi-user system you can even invade people's privacy by reading their personal email - assuming they have not downloaded and deleted it via POP3 yet.

The steps to check the contents of a user's mailbox are:

  1. Pada halaman utama modul, klik Kotak Surat Pengguna ikon. Halaman yang mencantumkan semua pengguna di sistem Anda dan ukuran kotak surat mereka akan ditampilkan, kecuali Anda memiliki lebih dari 200 pengguna. Dalam hal ini, formulir kecil untuk memasukkan nama pengguna akan muncul sebagai gantinya.
  2. Click on the name of a user to bring up a list of messages in his mailbox, an example of which is shown in Figure 37-4. Secara default, pesan terbaru ditampilkan terlebih dahulu, meskipun sebenarnya pesan tersebut berada di akhir file email yang sebenarnya. If the mailbox contains more than 20 emails, only the first 20 will be displayed. To page though the rest, use the left and right arrow buttons above the list.
  3. To view an actual message, click on the sender's name in the From kolom. A page showing the important headers, body text and attachments will appear. Click on an attachment icon to view it, assuming that the data type is supported by your browser or some external program. To remove just this email from the user's mailbox, click the Delete tombol di bagian bawah halaman. This can take quite some time if the mailbox is extremely large (over 10 MB) or contains lots of messages, as Webmin needs to re-write the entire mail file.
  4. To delete multiple messages, first select them using the checkboxes and Select all dan Balikkan pilihan links on the mail list page. Then click the Delete button above or below the list - once again, this can take a while for large mailboxes.
  5. To search the user's mailbox for messages matching some criteria, use the Find messages where form below the list. The following types of search can be selected from the menu :From:matches , Subject:matches , To:matches or Cc:matches Finds messages in which the From, Subject, To or Cc field contains the text entered into the adjacent text box. The comparison is case-insensitive, but regular expression characters cannot be used. Date:matches Finds messages in which the sending date header contains the entered text. This header will not be converted to local format, so whatever you enter must match the date format used by the sender. Body matches Finds messages whose body contains the entered text. The body includes all attachments in their un-encoded form, not just the text that is shown when you read an email. *Size is greater than* Finds messages whose total size is greater than the number of bytes entered into the adjacent field. For each of the above search types, an inverse type is also available, such as From:doesn't match or *Size is less than*. After choosing your search type and entering text to match, hit the Search tombol. A page listing all matching messages will be displayed, from which you can view the contents of emails or select some or all to delete, just like in the normal mail list.


The contents of a user's mailbox

The mail reading section of the module actually allows you to compose new messages and reply to or forward existing ones. In fact, it can be used as a full-featured email client, although it is not the best program for the job. The default From address for sent messages is determined from the mailbox user's name and the system hostname, but this can be changed on the module access control page on a per-Webmin user basis. It is even possible to create Webmin users who can use this module to read only their own mailbox and send email from only their address. However, you should really use a program like Usermin if you want to give the same mail-reading web interface to a large number of users on your system.

By default, the module assumes that that mail for each user will be stored in a file with the user's name in the /var/mail or /var/spool/mail directory. It is possible to configure Sendmail to use a different file path instead though, such as the mbox file in each user's home directory. If this is the case on your system, you will need to re-configure the module, as explained in the section Sendmail Configuration module. Otherwise all the mailbox will show up empty, because Webmin is looking in the wrong place for them.

Adding Sendmail features with M4

The primary Sendmail configuration file sendmail.cf is extremely complex, and almost impossible to edit manually. Fortunately, it is usually built from a series of M4 macro files that are much simpler and can be modified using this module or by manual editing. M4, for those who have not heard of it before, is a program that parses text files and expands macros in them. These macros can include other text files, define variables and functions or exclude text based on certain conditions. M4 is very similar to the pre-processor used by the C programming language which handles #include and #define statements. Fortunately, this module hides most of the complex details from you.

Often, the default Sendmail configuration that comes with your operating system will not have some features enabled, such as address mapping or domain routing. Webmin can detect this, and will display an error message if you try to use a module page for a Sendmail feature that is not enabled in the primary configuration file. To turn on a missing feature, an entry must be added to the primary M4 configuration file, from which sendmail.cf is re-built. Then Sendmail will be able to use it, and this module will be able to configure it.

Before you can manage your Sendmail M4 configuration, this module must know where to find the M4 files. To check if it has the correct paths and to set them if not, follow these steps:

  1. On the module's main page, click on the Sendmail M4 Configuration ikon.
  2. If an error message like *The Sendmail M4 configuration file /etc/sendmail.mc was not found* or The locations of the Sendmail M4 base directory and M4 config* files have not been set* is displayed, then module cannot find the M4 files. However, if a table of entries from the file is displayed instead then everything is configured OK and you can skip the rest of these steps.
  3. If you are running Linux, check your distribution CD or website to make sure that all the packages whose names start with sendmail are installed. Sometimes the M4 files are in a separate package named something like sendmail-cf. If you do find and install such as package, go back to step 1 and check again to see if the module has found the configuration files.
  4. If you are using the Sendmail package that came with your version of Unix and cannot find any M4 files on your system, then this feature of the module cannot be used. This is unfortunately the case on some operating systems.

Once the Sendmail M4 Configuration page displays the contents of your primary M4 file, you can use it to add new features such as address mapping or domain routing. The page can in fact be used to modify any of the M4 macros in the file, but unless you are any experienced Sendmail administrator it is best to stick to these instructions for adding features:

  1. From the menu next to the Add new entry of type button at the bottom of the page, select Feature and then hit the button to go to the feature creation form.
  2. Select the one that you want to add from the Feature Tidak bisa. The most commonly used features have names next to them in brackets that correspond to their icons on the module's main page.
  3. In the Parameters field, enter hash -o followed by the path that should be used for the feature's text and DBM files. For example, if adding a virtusertable feature you should enter hash -o /etc/mail/virtusertable (assuming your system has an /etc/mail directory).
  4. Login to your system as root via SSH, telnet or at the console and create the empty text file with a command like touch /etc/mail/virtusertable. Naturally, this is not necessary if it already exists.
  5. Klik tombol Buat button to update the M4 file and be returned to the previous page.
  6. At the very bottom of the M4 file contents list, click the *Rebuild Sendmail Configuration* button. A confirmation page showing the exact changes that will be made to your sendmail.cf file will be displayed - typically they will be limited to directives for the new feature. If the confirmation form indicates that a huge number of lines are going to be changed, it is likely that the M4 file being edited was not originally used to built your current sendmail.cf file, and so should not be used in future.
  7. To go ahead and use the newly rebuilt Sendmail configuration, click the Yes, replace it now tombol. Your sendmail.cf file will be updated and the server process re-started to immediately activate it.
  8. Go back to the module's main page, and click on the icon for the feature that you have just enabled. You will not be able to add and edit address mappings or whatever it was that you added support for.

As you can see from looking at the existing M4 file entries, editing or adding to it can still be quite complex. For this reason, the book does not cover all of the possible features or other macro types that you can add. However, for most people the defaults will work just fine - at most, all you should need to do is add a feature or two as explained above. If you want to learn more about editing the M4 configuration, you should buy a book dedicated to Sendmail administration.

One problem with using the M4 page to re-build your Sendmail configuration is that any changes that have been made directly to sendmail.cf will be overwritten. The module's Sendmail Options page unfortunately does precisely this, so if you follow the instructions above to add a new feature any changes made on that page will be lost! The only real solution is to edit the entries in the M4 file that correspond to those on the Sendmail Options page - for example, the Send outgoing mail via host field is set by the SMART_HOST define.

Creating autoreply aliases

The Sendmail Configuration module lets you easily create an alias that triggers an automatic reply to anyone who sends email to it. When you do this, Webmin creates a simple script that is run from the alias and receives the contents of email sent to it as input, just like a command specified using the Feed to program alias type.

To set up an autoreply alias, follow these steps:

  1. Di halaman utama modul, klik Mail Alias ikon.
  2. In the Create Alias form, enter a name for the alias and select Autoreply from file from the type menu. The name can be that of an existing Unix user if you want to set up an automatic reply to any message send to him, for example if he is on holidays.
  3. In the field next to the type menu, enter the path to a file that will contain the autoreply message, such as /home/someuser/autoreply.txt . The file does not have to exist yet.
  4. Klik tombol Buat button to add the alias, and then click on its name in the list to edit again.
  5. Follow the Edit link next to the autoreply filename field. This will bring up a page containing a large text box for entering the contents of the reply message.
  6. After entering the text that you want sent back to any sender, click Save at the bottom of the page. The autoreply alias is now fully active.

The reply text can contain several special macros that start with $, such as $SUBJECT, $TO, $FROM, $DATE and $BODY. When the reply is sent, these will be replaced with the original message's subject, destination address, sender address, sending date or body respectively. Be careful using the $BODY macro though, as it will be replaced with the entire un-encoded contents of the email being replied to.

You can also add to or override the headers used in the reply message by starting the autoreply text with one or more lines in standard SMTP header format, followed by a blank line. For example, to set the subject of the automatic reply you could enter _Subject:This is an automatic reply_ at the top of the text box, with an empty line after it.

One problem with Webmin's autoreply script is its inability to reliably determine the From address to use when sending the reply. Normally this is just taken from the To address of the original message, but this is not possible when replying to a message that was sent to multiple people. Even though the code attempts to find the right address automatically, it can sometimes get the wrong one and send an automatic reply that appears to be from the wrong person. For this reason, you should include a header line like From:Jamie Cameron at the top of your reply text to set the correct address.

If you are setting up an automatic reply alias for a Unix user, it is usually a good idea to have a copy of all email sent to the user stored in his mailbox as well. To do this, re-edit the alias and select Email address from the second type menu. Then enter the user's name preceded by a backslash into the text field next to it (like \jcameron ) and hit Save .

Creating filter aliases

Sendmail aliases normally forward email messages to their destinations regardless of their content. However, it is possible to use this Webmin module to create an alias that forwards to different addresses or files depending on the headers or body of a message send to it. When you create an alias like this, the module internally creates a script that is passed the contents of email to the alias as input, just like a command specified using the Feed to program alias type.

A filter consists of a series of rules, each of which has a condition and action. The condition specifies a header to check and text to check if the header contains, while the action specifies an address to forward to or a file to append the message to. When a message is received by the filter, it is checked against the rules in order until one that matches is found and its action performed. At the end of the list is a default action, which determines where to forward email that does not match any of the conditions.

Compared to other mail filtering or classification programs like Procmail Mail Filter and SpamAssassin Mail Filter, Webmin's filters are limited in their functionality and flexibility. However, they are easy to create and require no additional software. To create one, the steps to follow are:

  1. Di halaman utama modul, klik Mail Alias ikon.
  2. In the Create Alias form, enter a name for the alias and select Apply filter file from the type menu. The alias name can be that of an existing Unix user if you want to filter his email before delivery.
  3. In the field next to the type menu, enter the path to a file that will contain the filter rules, such as /home/someuser/filter.rules . Because the file format is fairly complex, you should not enter the name of any existing file unless it was created by following these same steps.
  4. Klik tombol Buat button to add the alias, and then click on its name in the list to edit again.
  5. Follow the Edit link next to the filter rules file field. This will take you to the form shown in Figure 37-5, which contains a table of empty rows for entering new rules and a text field for the default action address.
  6. In the first row, select the header that you want to filter on from the menu next to If the . Or to check the entire un-decoded email body, select body from the list instead. To have the action performed if some text is found in the header or body, select matches from the second menu. Alternately, to perform the action only when some text is not found, choose *doesn't match* instead. In the field next to this menu, enter the text that the filter should check the header or body for. The comparison will always be case-insensitive, and Perl regular expression characters like [, ., + and * can be used. In the *then forward to* field, enter the email address or mailbox name to which messages matching the condition that you specified will be sent. It is also possible to enter an absolute file path like /home/someuser/mail/somefolder to which email will be appended instead. This could be another user's mail file, or a mail folder - however, it must be writable by the Unix user daemon that Sendmail runs as.
  7. To enter another rule, fill in the second blank row by repeating the instructions in the previous step again. Only five empty rows are displayed, but you can create more than five rules by saving and re-editing the filter file.
  8. In the Otherwise forward to field at the bottom of the table, enter an address or filename to which messages that do no match any of the rules will be sent or appended. If this is left blank, unmatched email will be thrown away!
  9. Finally, click the Save button to activate the new filter rules. To make sure they are really working, you should send a few text messages to the alias and check that they are delivered correctly.


The filter creation form

To have email forwarded to multiple addresses by a single rule or the default action, just enter them separated by commas into one of the forward to bidang. Or enter the name of another alias as the destination, which can then send messages to multiple files, addresses and/or programs.

When creating a filter alias with the same name as a Unix user, it is often useful to specify that messages matching some rule be delivered to the user's normal mailbox. However, just entering the user's name as the destination would be a big mistake, as this would trigger an endless loop through the filter! Instead, you should prepend a backslash to the username, like \jcameron . As with aliases, this tells Sendmail to ignore any aliases for this mailbox.

Because it can often be difficult to work out what a filter alias is doing and why it is doing it, the filter script creates a log file in the same directory as the rules file. The log has the same name as the filter file, but with .log appended. Every message received by the alias and delivered to some destination by the filter causes a line to be added to the log, containing the date, time, sender, destination and rule matched. The log file will only be created if the directory or log itself is writable by the daemon user though.

Kontrol akses modul

The Sendmail Configuration module probably has the most powerful access control features of any module in Webmin. You can use them to limit the aliases and virtual addresses a Webmin user can edit, or restrict him to reading only the mailboxes of certain Unix users. These features are most useful in a virtual hosting environment, where customers own email domains and the user accounts. On this kind of system, you can create one Webmin user per customer who can only manage the address mappings, aliases and mailboxes for his own domains, while not being able to use other features of the module or touch other customers' information.

Once you have created a Webmin user who has access to the module (as explained in WebminUsers), follow these steps to restrict what he can do:

  1. In the Webmin Users module, click on Sendmail Configuration next to the name of the user that you want to restrict.
  2. Ubah Dapatkah mengedit konfigurasi modul? kolom ke Tidak , so that he cannot modify paths to Sendmail programs and files.
  3. Set all of the Yes/No fields in the second section to No , which will prevent the user from seeing most of the module's icons.
  4. Select No from the Can manage mail queue? menu, or *View only* if you just want the module user to be able to see the contents of the queue. Memilih Ya would be a bad idea, as it would allow him to delete queued email belonging to other domains.
  5. For the Address mappings this user can edit field, select the Matching option and enter a Perl regular expression for allowable mapping sources into the text field next to it. For example, to let him create and edit mappings in the domains foo.com and example.com , you should enter (@foo.com|@bar.com)$.
  6. It is safe to select all of the checkboxes in the *Address mapping types this user can edit* field.
  7. To limit the number of mappings that the user can create, select the second radio button in the *Maximum number of address mappings* field and enter a number into the box next to it. This can be useful for preventing a single customer from more address mappings than he has paid for.
  8. In the Aliases this user can edit field, select Matching and enter a regular expression that only lets him modify or create aliases starting with the customer's domain names. For example, if the user owns the domains foo.com and example.com you should enter ^(foo|example)- to limit him to aliases like foo-jcameron or example-fred . This naming convention ensures that users cannot step on each others' aliases.
  9. In the Alias types this user can edit field, de-select the checkboxes for types of aliases that the Webmin user should not be allowed to create. Good candidates to deny access to are Write to file , Feed to program , Autoreply and *Filter file*, as they use the permissions of the Sendmail daemon user and thus may be a security risk.
  10. To limit the number of aliases that the customer can create, select the second radio button in the Maximum number of aliases field and enter the maximum into the box next to it.
  11. To stop the Webmin user creating aliases that run programs, append to files or use address files outside a certain directory, enter it into the Limit files and program to directory bidang. Unfortunately, this can be subverted by the clever use of symbolic links and so is not a very strong security measure.
  12. In the Outgoing addresses this user can edit field, select Matching and enter the same regular expression as in the Address mappings this user can edit bidang. This will limit the user to re-writing addresses for only his own domains. Or to prevent the editing of outgoing addresses at all, select None - in most cases, there is no need for a Sendmail administrator to edit them anyway.
  13. In the Users whose mail can be read field, select one of the last five options to limit the customer to only those Unix users who belong to him. If he has been given limited access to the Users and Groups module as well, then you should allow him to read the email of the same users that he can create an edit in that module.
  14. Leave the rest of the fields on the form set to their defaults - they are only really useful if you are setting up the module as a web- based mail reading interface. Although this is possible, there are much better alternatives such as Usermin.
  15. Klik tombol Simpan button to make the restrictions for the user active.

Even though it is possible to configure this module to limit a user to certain domains, the module's interface is not particularly friendly compared to products like Plesk or Cpanel. These are web-based virtual server management interfaces that have been designed from the ground up for that purpose, unlike Webmin which was design to allow the management of everything on a system.

Configuring the Sendmail Configuration module

The Module Config link on the main page takes you to a form seen in many other modules for editing settings that apply to the operation of the module itself. Those listed under Configurable options relate to its user interface, while those under System configuration define the paths to the Sendmail programs and files.

Settings in the latter group do not usually need to be changed, as by default they are set to match the Sendmail package supplied with your operating system. However, if you have compiled and installed the MTA yourself from the source code, then it is quite possible that they will be incorrect.

Isi

Lihat juga

  • Introduction to Internet Mail

Webmin
  1. Cara mengkonfigurasi server web Apache

  2. Cara menginstal DKIM di server Ubuntu

  3. Server Surat QMail

  1. Panduan sysadmin untuk mengonfigurasi server email

  2. Konfigurasi Mail Server Untuk Relay Email?

  3. Layanan OS Linux 'kirim'

  1. Siapkan server email dengan PostfixAdmin

  2. Konfigurasi Server Samba di CentOS 6.5

  3. Siapkan Server Cloud untuk menjadi server email