Jika Anda memiliki akun Gmail, Anda dapat mengonfigurasi MTA Anda untuk menyampaikan surat keluar melalui Gmail. Ini memberi Anda keuntungan dari keandalan Gmail dan infrastruktur yang kuat, dan memberi Anda cara sederhana untuk mengirim email dari baris perintah.
Dalam tutorial ini, kita akan menggunakan Postfix sebagai MTA kita. Postfix adalah agen transfer surat gratis, sumber terbuka, dipelihara secara aktif, dan sangat aman.
Pada setiap langkah, kami akan membahas petunjuk khusus untuk sistem operasi berikut:
- Debian 9
- Ubuntu 18,04 LTS
- CentOS 7
- OpenSUSE Leap 15.0
- Linux Arch 2019.03.01
- FreeBSD 12.0
Kami juga akan memasang mailutils /mailx sehingga kami dapat mengirim email percobaan. Jika perlu, kami akan memasang pustaka SASL tambahan.
Semua perintah yang dimulai dengan # membutuhkan hak akses root.
1. Instal Perangkat Lunak yang Diperlukan
Debian, Ubuntu:
apt-get update && apt-get install postfix mailutils
Saat diminta untuk "Jenis konfigurasi email umum", pilih Situs Internet .
Saat diminta untuk "Nama email", pilih nama host yang akan digunakan di header email sebagai asal email Anda. Nama domain yang sepenuhnya memenuhi syarat lebih disukai, tetapi menggunakan nama host sederhana mesin Anda tidak masalah. Terlepas dari apa yang Anda masukkan di sini, alamat pengirim Anda akan muncul kepada penerima sebagai alamat Gmail Anda.
Anda mungkin diminta untuk menyetel "Penerima email root dan postmaster". Masukkan akar , atau pengguna lain yang seharusnya menerima pemberitahuan subsistem email.
Untuk permintaan lainnya, Anda dapat memilih nilai default.
Fedora:
dnf update && dnf install postfix mailx
CentOS:
yum update && yum install postfix mailx cyrus-sasl cyrus-sasl-plain
OpenSUSE:
zypper update && zypper install postfix mailx cyrus-sasl
Linux Arch:
pacman -Sy postfix mailutils
FreeBSD:
Kompilasi Postfix dari koleksi port untuk memasukkan dukungan untuk SASL:
portsnap fetch extract update
cd /usr/ports/mail/postfix
make config
Dalam dialog konfigurasi, pilih dukungan SASL . Semua opsi lain dapat tetap sama. Kemudian:
make install clean
Mailx dapat diinstal dari paket biner:
pkg install mailx
2. Konfigurasikan Otentikasi Gmail
Buat atau ubah file kata sandi yang akan digunakan oleh Postfix untuk membuat otentikasi dengan Gmail. Dalam informasi autentikasi di bawah, ganti nama pengguna dengan nama pengguna dan sandi Gmail Anda dengan kata sandi Gmail Anda. Jika Anda menggunakan nama domain Aplikasi Gmail khusus, Anda dapat mengganti gmail.com dengan domain Google Apps Anda.
File password akan berada di direktori konfigurasi Postfix. File dapat diberi nama apa pun yang Anda suka, tetapi nama file yang disarankan adalah sasl_passwd .
Debian, Ubuntu, Fedora, CentOS, OpenSUSE, Arch Linux:
File konfigurasi postfix berada di direktori /etc/postfix . Buat atau edit file kata sandi:
nano /etc/postfix/sasl_passwd
Tambahkan baris:
[smtp.gmail.com]:587 [email protected]:password
Simpan dan tutup file. Kata sandi Gmail Anda disimpan sebagai teks biasa, jadi buat file hanya dapat diakses oleh root:
chmod 600 /etc/postfix/sasl_passwd
FreeBSD:
File konfigurasi Postfix berada di direktori /usr/local/etc/postfix . Buat atau edit file kata sandi:
nano /usr/local/etc/postfix/sasl_passwd
Tambahkan baris:
[smtp.gmail.com]:587 [email protected]:password
Simpan dan tutup file. Jadikan hanya dapat diakses oleh root:
chmod 600 /usr/local/etc/postfix/sasl_passwd
3. Konfigurasi Postfix
Ada enam parameter yang harus diatur dalam file konfigurasi Postfix main.cf . Parameternya adalah:
relayhost , yang menentukan host relai email dan nomor port. Nama host akan diapit dalam tanda kurung untuk menentukan bahwa tidak ada pencarian MX yang diperlukan.
smtp_use_tls , yang mengaktifkan (atau menonaktifkan) keamanan lapisan transport.
smtp_sasl_auth_enable , yang mengaktifkan (atau menonaktifkan) autentikasi SASL.
smtp_sasl_security_options , yang dalam konfigurasi berikut akan disetel ke kosong, untuk memastikan bahwa tidak ada opsi keamanan yang tidak kompatibel dengan Gmail yang digunakan.
smtp_sasl_password_maps , yang menentukan file kata sandi yang akan digunakan. File ini akan dikompilasi dan di-hash oleh postmap di langkah selanjutnya.
smtp_tls_CAfile , yang menentukan daftar otoritas sertifikat yang akan digunakan saat memverifikasi identitas server.
Debian, Ubuntu, Arch Linux:
Edit file konfigurasi Postfix utama:
nano /etc/postfix/main.cf
Tambahkan atau ubah nilai berikut:
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options =
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
Simpan dan tutup file.
Fedora, CentOS:
Edit file konfigurasi Postfix utama:
nano /etc/postfix/main.cf
Tambahkan atau ubah nilai berikut:
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options =
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt
Simpan dan tutup file.
OpenSUSE:
Edit file konfigurasi Postfix utama:
nano /etc/postfix/main.cf
Tambahkan atau ubah nilai berikut:
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options =
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/ssl/ca-bundle.pem
Simpan dan tutup file.
OpenSUSE juga membutuhkan file konfigurasi proses master Postfix master.cf dimodifikasi. Buka untuk mengedit:
nano /etc/postfix/master.cf
Cari baris yang berbunyi:
#tlsmgr unix - - n 1000? 1 tlsmg
Batalkan komentarnya, sehingga berbunyi:
tlsmgr unix - - n 1000? 1 tlsmg
Simpan dan tutup file.
FreeBSD:
Edit file konfigurasi Postfix utama:
nano /usr/local/etc/postfix/main.cf
Tambahkan atau ubah nilai berikut:
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options =
smtp_sasl_password_maps = hash:/usr/local/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/mail/certs/cacert.pem
Simpan dan tutup file.
4. Memproses File Kata Sandi
Gunakan peta pos untuk mengkompilasi dan meng-hash konten sasl_passwd . Hasilnya akan disimpan di direktori konfigurasi Postfix Anda di file sasl_passwd.db .
Debian, Ubuntu, Fedora, CentOS, OpenSUSE, Arch Linux:
postmap /etc/postfix/sasl_passwd
FreeBSD:
postmap /usr/local/etc/postfix/sasl_passwd
5. Mulai ulang Postfix
Mulai ulang layanan Postfix, terapkan perubahan Anda.
Debian, Ubuntu, Fedora, CentOS, OpenSUSE, Arch Linux:
systemctl restart postfix.service
FreeBSD:
Untuk memulai layanan Postfix hanya untuk sesi ini:
service postfix onestart
Untuk memulai Postfix secara otomatis saat sistem diinisialisasi, buka /etc/rc.conf untuk mengedit:
nano /etc/rc.conf
Tambahkan baris:
postfix_enable=YES
Simpan dan tutup file. Anda kemudian dapat menjalankan:
service postfix start
Untuk memulai Postfix.
6. Aktifkan "Aplikasi yang Kurang Aman" Di Gmail
Secara default, hanya proses masuk yang paling aman, seperti masuk ke Gmail di web, yang diizinkan untuk akun Gmail Anda. Untuk mengizinkan permintaan relai, masuk ke akun Gmail Anda dan aktifkan Izinkan aplikasi yang kurang aman .
Untuk informasi selengkapnya, tinjau dokumen Dukungan Google "Mengizinkan aplikasi yang kurang aman mengakses akun Anda".
7. Kirim Email Percobaan
Uji konfigurasi baru Anda dengan mengirimkan email menggunakan mail memerintah. Jalankan:
mail -s "Test subject" [email protected]
Anda akan disajikan dengan baris kosong (atau CC: bidang, yang dapat Anda lewati dengan menekan Enter). Ketik isi pesan Anda, tekan Enter untuk baris baru. Setelah Anda selesai menulis email, ketik CTRL-D untuk mengirimnya. Untuk membatalkan email, tekan CTRL-C dua kali.
Untuk mengirim email yang telah dibuat sebelumnya, gunakan perintah:
mail -s "Subject Here" [email protected] < textfile
Di mana file teks adalah nama file yang berisi teks yang akan dikirim.
Pemecahan masalah
Jika tidak berfungsi, periksa log apakah ada kesalahan Postfix:
Debian:
less /var/log/mail.log
Ubuntu, Fedora, CentOS, OpenSUSE, Arch Linux:
journalctl
FreeBSD:
less /var/log/maillog
Jika Anda menerima kesalahan autentikasi dari Gmail, verifikasi bahwa Izinkan Aplikasi yang Kurang Aman diaktifkan di setelan akun Gmail Anda, seperti yang ditentukan di Langkah 6.
Verifikasi bahwa file sandi sasl_passwd ada dan isinya diformat dengan benar, seperti yang ditentukan pada Langkah 2. Jika Anda membuat perubahan apa pun pada file kata sandi, pastikan untuk mengulangi Langkah 4 dan 5 untuk meng-hash file kata sandi baru dan memulai ulang Postfix.
Jika Anda melihat kesalahan TLS, periksa kembali konfigurasi di main.cf seperti yang ditentukan pada Langkah 3. Jika Anda membuat perubahan konfigurasi apa pun, mulai ulang Postfix seperti yang ditentukan pada Langkah 5.