Dalam panduan ini, kita akan mempelajari cara menginstal dan mengkonfigurasi Postfix di server Ubuntu 20.04. Kami akan menggunakan s-nail
(A Mail User Agent – MUA) untuk menguji apakah Postfix mampu merutekan email dengan benar.
Kami akan dapat mengaktifkan dan menjalankan Postfix dengan beberapa fungsionalitas email yang sederhana. Anda tidak akan memiliki server email berfitur lengkap pada akhir panduan ini, tetapi Anda akan memiliki beberapa komponen dasar dari penyiapan semacam itu untuk membantu Anda memulai.
Prasyarat
Untuk mengikuti panduan ini untuk menginstal dan mengkonfigurasi Postfix, maka Anda harus terlebih dahulu memiliki yang berikut:
- Server Ubuntu 20.04 berfungsi sebagai server Postfix
- Nama Domain yang Sepenuhnya Memenuhi Syarat diarahkan ke server Ubuntu 20.04 Anda.
Perhatikan bahwa tutorial ini mengasumsikan bahwa Anda mengonfigurasi host yang memiliki FQDN mail.citizix.com
. Jika perlu, pastikan untuk mengubah citizix.com
atau mail.citizix.com
untuk mencerminkan FQDN Anda sendiri.
Langkah 1:Pastikan server Anda mutakhir
Sebelum melanjutkan, pastikan server telah memperbarui paket. Gunakan perintah ini untuk mencapainya:
sudo apt update
sudo apt -y upgrade
Langkah 2:Menginstal Postfix
Postfix disertakan dalam repositori default Ubuntu sebagai postfix
. Kita dapat menginstalnya dengan APT.
Perhatikan bahwa di sini kami melewati DEBIAN_PRIORITY=low
variabel lingkungan ke dalam perintah instalasi ini. Ini akan menyebabkan proses penginstalan meminta Anda untuk mengonfigurasi beberapa opsi tambahan:
sudo DEBIAN_PRIORITY=low apt install postfix
Proses instalasi ini akan membuka serangkaian petunjuk interaktif. Gunakan informasi berikut untuk mengisi perintah Anda:
- Jenis umum konfigurasi email? :Untuk ini, pilih Situs Internet karena ini sesuai dengan kebutuhan infrastruktur kami.
- Nama email sistem :Ini adalah domain dasar yang digunakan untuk membuat alamat email yang valid ketika hanya bagian akun dari alamat yang diberikan. Misalnya, nama host server Anda adalah
mail.citizix.com
. Anda mungkin ingin menyetel nama email sistem kecitizix.com
sehingga, diberikan nama penggunauser1
, Postfix akan menggunakan alamat[email protected]citizix.com
. - Penerima email root dan postmaster :Ini adalah akun Linux yang akan meneruskan email yang dialamatkan ke
[email protected]
dan[email protected]
. Gunakan akun utama Anda untuk ini. Dalam contoh kasus ini, admin . - Tujuan lain untuk menerima email :Ini mendefinisikan tujuan email yang akan diterima oleh instance Postfix ini. Jika Anda perlu menambahkan domain lain yang menjadi tanggung jawab server ini, tambahkan domain tersebut di sini. Jika tidak, default akan cukup.
- Paksa pembaruan sinkron pada antrean email? :Karena kemungkinan besar Anda menggunakan sistem file terjurnal, terima Tidak di sini.
- Jaringan lokal :Ini adalah daftar jaringan yang server email Anda dikonfigurasi untuk menyampaikan pesan. Default akan berfungsi untuk sebagian besar skenario. Namun, jika Anda memilih untuk mengubahnya, pastikan untuk membatasi jangkauan jaringan.
- Batas ukuran kotak surat :Ini dapat digunakan untuk membatasi ukuran pesan. Menyetelnya ke
0
menonaktifkan batasan ukuran apa pun. - Karakter ekstensi alamat lokal :Ini adalah karakter yang dapat digunakan untuk memisahkan bagian biasa dari alamat dari ekstensi (digunakan untuk membuat alias dinamis). Defaultnya,
+
akan bekerja untuk tutorial ini. - Protokol internet yang akan digunakan :Pilih apakah akan membatasi versi IP yang didukung Postfix. Untuk tujuan tutorial ini, pilih semua .
Catatan :Jika Anda perlu kembali untuk mengubah setelan ini, Anda dapat melakukannya dengan mengetik:
sudo dpkg-reconfigure postfix
Perintah akan diisi sebelumnya dengan tanggapan Anda sebelumnya.
Ketika proses instalasi selesai, Anda siap untuk membuat beberapa pembaruan pada konfigurasi Postfix Anda.
Langkah 3:Mengubah Konfigurasi Postfix
Pengaturan konfigurasi Postfix ditentukan di /etc/postfix/main.cf
mengajukan. Anda dapat menggunakan postconf
dari Postfix perintah untuk menanyakan atau mengatur pengaturan konfigurasi daripada mengedit file secara langsung.
Untuk memulai, atur lokasi untuk kotak surat pengguna Ubuntu non-root Anda. Dalam panduan ini, kami akan menggunakan Maildir format, yang memisahkan pesan menjadi file individual yang kemudian dipindahkan antar direktori berdasarkan tindakan pengguna. Opsi alternatif yang tidak tercakup dalam panduan ini adalah mbox format, yang menyimpan semua pesan dalam satu file.
Setel home_mailbox
variabel ke Maildir/
. Kemudian, Anda akan membuat struktur direktori dengan nama tersebut di dalam direktori home pengguna Anda. Konfigurasikan home_mailbox
dengan mengetik:
sudo postconf -e 'home_mailbox= Maildir/'
Selanjutnya, atur lokasi virtual_alias_maps
table, yang memetakan akun email arbitrer ke akun sistem Linux. Jalankan perintah berikut, yang memetakan lokasi tabel ke file database hash bernama /etc/postfix/virtual
:
sudo postconf -e 'virtual_alias_maps= hash:/etc/postfix/virtual'
Sekarang setelah Anda menentukan lokasi file peta virtual di main.cf
. Anda Anda dapat membuat file itu sendiri dan mulai memetakan akun email ke akun pengguna di sistem Linux Anda. Buat file dengan editor teks pilihan Anda; dalam contoh ini, kami akan menggunakan vim
:
sudo vim /etc/postfix/virtual
Cantumkan alamat yang ingin Anda terima emailnya, diikuti dengan spasi putih dan pengguna Linux yang Anda inginkan untuk menerima email tersebut.
Misalnya, jika Anda ingin menerima email di [email protected]
dan[email protected]
dan ingin agar email tersebut dikirimkan ke admin Pengguna Linux, Anda dapat mengatur file Anda seperti ini:/etc/postfix/virtual
[email protected] admin
[email protected] admin
Setelah Anda memetakan semua alamat ke akun server yang sesuai, simpan dan tutup file.
Terapkan pemetaan dengan mengetik:
sudo postmap /etc/postfix/virtual
Mulai ulang proses Postfix untuk memastikan bahwa semua perubahan Anda telah diterapkan:
sudo systemctl restart postfix
Jika Anda telah menginstal dan mengaktifkan firewall ufw, Anda dapat mengizinkan koneksi ke layanan dengan mengetik:
sudo ufw allow Postfix
Langkah 3 — Menginstal Klien Email dan Menginisialisasi Struktur Maildir
Untuk berinteraksi dengan email yang dikirim, langkah ini akan memandu Anda melalui proses pemasangan s-nail
kemasan. Ini adalah varian kaya fitur dari BSD xmail
klien yang dapat menangani format Maildir dengan benar.
Namun, sebelum memasang klien, sebaiknya pastikan MAIL
. Anda variabel lingkungan diatur dengan benar. s-nail
akan mencari variabel ini untuk mencari tahu di mana menemukan email untuk pengguna Anda.
Untuk memastikan bahwa MAIL
variabel disetel terlepas dari cara Anda mengakses akun — baik melalui ssh
, su
, su -
, atau sudo
, misalnya — Anda harus menyetel variabel di /etc/bash.bashrc
file dan tambahkan ke file dalam /etc/profile.d
untuk memastikannya disetel untuk semua pengguna secara default.
Untuk menambahkan variabel ke file ini, ketik:
echo 'export MAIL=~/Maildir' | sudo tee -a /etc/bash.bashrc | sudo tee -a /etc/profile.d/mail.sh
Untuk membaca variabel ke dalam sesi Anda saat ini, sumber /etc/profile.d/mail.sh
berkas:
source /etc/profile.d/mail.sh
Setelah selesai, instal s-nail
klien email dengan APT:
sudo apt install s-nail
Sebelum menjalankan klien, ada beberapa pengaturan yang perlu Anda sesuaikan. Buka /etc/s-nail.rc
file di editor Anda:
sudo vim /etc/s-nail.rc
Di bagian bawah file, tambahkan opsi berikut:/etc/s-nail.rc
. . .
set emptystart
set folder=Maildir
set record=+sent
Inilah yang dilakukan baris-baris ini:
set emptystart
:memungkinkan klien untuk membuka bahkan dengan kotak masuk kosongset folder=Maildir
:menyetelMaildir
direktori kefolder
internal internal variabelset record=+sent
membuatsent
file mbox untuk menyimpan email terkirim dalam direktori mana pun yang disetel sebagaifolder
variabel, dalam hal iniMaildir
Simpan dan tutup file setelah Anda selesai. Anda sekarang siap untuk menginisialisasi struktur Maildir sistem Anda.
Cara cepat untuk membuat struktur Maildir dalam direktori home Anda adalah dengan mengirimkan email kepada diri Anda sendiri dengan s-nail
memerintah. Karena sent
file hanya akan tersedia setelah Maildir dibuat, Anda harus menonaktifkan penulisannya untuk email awal ini. Lakukan ini dengan meneruskan -Snorecord
pilihan.
Kirim email dengan menyalurkan string ke s-nail
memerintah. Sesuaikan perintah untuk menandai pengguna Linux Anda sebagai penerima:
echo 'init' | s-nail -s 'init' -Snorecord admin
Anda dapat memeriksa untuk memastikan direktori telah dibuat dengan mencari ~/Maildir
direktori:
ls -R ~/Maildir
Anda akan melihat struktur direktori telah dibuat dan file pesan baru ada di ~/Maildir/new
direktori:
$ ls -R ~/Maildir
/home/ubuntu/Maildir:
cur new tmp
/home/ubuntu/Maildir/cur:
/home/ubuntu/Maildir/new:
1643972360.V10301Ifbca3M171366.dev-ubuntusrv.inv.re 1643972375.V10301Ifbca5M242683.dev-ubuntusrv.inv.re
/home/ubuntu/Maildir/tmp:
Sekarang setelah struktur direktori dibuat, Anda siap untuk menguji s-nail
klien dengan melihat init
pesan yang Anda kirim dan mengirim pesan ke alamat email eksternal.
Langkah 4 — Menguji Klien
Untuk membuka klien, jalankan s-nail
perintah:
s-nail
Di konsol, Anda akan melihat kotak masuk dasar dengan init
pesan menunggu:
$ s-nail
s-nail version v14.9.15. Type `?' for help
/home/admin/Maildir: 1 messages 1 new
▸N 1 Ubuntu 2022-02-04 10:59 14/432 init
?
Tekan ENTER
untuk menampilkan pesan:
[-- Message 1 -- 14 lines, 432 bytes --]:
From [email protected] Fri Feb 4 10:59:35 2022
Date: Fri, 04 Feb 2022 10:59:35 +0000
To: [email protected]
Subject: init
Message-Id: <[email protected]>
From: Ubuntu <[email protected]>
init
Anda dapat kembali ke daftar pesan dengan mengetik h
, lalu ENTER
:
h
▸R 1 Ubuntu 2022-02-04 10:59 14/432 init
Perhatikan bahwa pesan sekarang memiliki status R
, menunjukkan bahwa itu telah dibaca.
Karena pesan ini tidak terlalu berguna, Anda dapat menghapusnya dengan menekan d
, lalu ENTER
:
d
Untuk kembali ke terminal, ketik q
lalu ENTER
:
q
Sebagai tes terakhir, periksa apakah s-nail
dapat mengirim pesan email dengan benar. Untuk melakukannya, Anda dapat menyalurkan konten file teks ke s-nail
proses, seperti yang Anda lakukan dengan init
pesan yang Anda kirim di langkah sebelumnya.
Mulailah dengan menulis pesan percobaan di editor teks:
vim ~/test_message
Di dalam, masukkan beberapa teks yang ingin Anda kirim:
Hello,
This is a test. Please confirm receipt!
Simpan dan tutup file setelah menulis pesan Anda.
Kemudian, gunakan cat
perintah untuk menyalurkan pesan ke s-nail
proses. Anda dapat melakukannya dengan contoh berikut, yang menggunakan opsi ini:
-s
:Ini mendefinisikan baris subjek pesan email-r
:Perubahan opsional pada bidang “Dari:” pada email. Secara default, pengguna Linux yang Anda masuki akan digunakan untuk mengisi bidang ini.-r
opsi ini memungkinkan Anda untuk menggantinya dengan alamat yang valid, seperti salah satu yang Anda tentukan di/etc/postfix/virtual
mengajukan. Sebagai ilustrasi, perintah berikut menggunakan[email protected]
Selain itu, pastikan untuk mengubah[email protected]
ke alamat email yang valid yang dapat Anda akses:
cat ~/test_message | s-nail -s 'Test email subject line' -r [email protected] [email protected]
Kemudian, navigasikan ke kotak masuk untuk alamat email yang Anda kirimi pesan. Anda akan segera melihat pesan Anda menunggu di sana.
Catatan :Jika pesan tidak ada di kotak masuk Anda, mungkin pesan tersebut telah dikirim ke folder Spam Anda.
Anda dapat melihat pesan terkirim dalam s-nail
klien. Mulai klien interaktif lagi:
s-nail
Dari klien email, lihat pesan terkirim Anda dengan mengetik:
file +sent
Salin
Anda akan melihat output seperti ini:
$ s-nail
s-nail version v14.9.15. Type `?' for help
/home/admin/Maildir: 0 messages
No more mail.
? file +sent
+[/home/admin/Maildir/]sent: 1 message 1 new
▸N 1 [email protected] 2022-02-04 11:07 12/291 Test email subject line
?
Anda dapat mengelola email terkirim menggunakan perintah yang sama dengan yang Anda gunakan untuk email masuk.
Kesimpulan
Anda sekarang telah mengkonfigurasi Postfix di server Ubuntu 20.04 Anda. Mengelola server email dapat menjadi tugas yang sulit bagi administrator sistem baru, tetapi dengan konfigurasi ini, Anda harus memiliki fungsionalitas email MTA yang cukup untuk memulai.