
Ini adalah alat baris perintah yang dapat mengirim email melalui SMTP. Ini tidak hanya mudah digunakan tetapi juga sekaligus menyediakan banyak pilihan saat dibutuhkan.
Tahun lalu, kami menerbitkan artikel blog yang menunjukkan cara menggunakan alat telnet yang sangat berguna untuk memeriksa koneksi SMTP.
Langkah selanjutnya adalah menyederhanakan proses manual dengan menggunakan alat “next level” yang hebat (mengacu pada dirinya sendiri sebagai Pisau Tentara Swiss untuk email) bernama SWAKS. Ini adalah alat baris perintah yang dapat mengirim email melalui SMTP. Tidak hanya mudah digunakan tetapi juga secara bersamaan menyediakan banyak opsi saat dibutuhkan.
Pada awalnya, saya merasa terintimidasi dengan banyaknya opsi, tetapi alat ini dapat digunakan dengan sempurna dengan opsi yang paling dasar. Jika Anda mengalami masalah, cukup simpan halaman ini, salin dan tempel contoh-contohnya, dan modifikasi sesuai keinginan Anda. Di akhir blog ini, setelah Anda mendapatkan beberapa pemahaman dan tidak memiliki banyak variasi/dinamika pada perintah SWAKS Anda, saya akan menunjukkan kepada Anda cara membuat file konfigurasi yang menetapkan semua parameter default Anda. Ini membuat menjalankan SWAKS secara harfiah hanya satu tombol (OK, “key”)!
Untuk tujuan latihan ini, kita akan menjalankan perintah dari server CentOS 7 tetapi perintahnya mirip pada semua platform yang didukung. Seperti disebutkan di atas, jika Anda merasa terjebak, cukup salin dan tempel langsung ke sistem Anda dan modifikasi apa yang Anda butuhkan. Berikut adalah dasar-dasarnya:
Instal
sudo yum install epel-release -y && sudo yum install swaks -y
Setelah diinstal, ini adalah sintaks dasar untuk mengirim pesan. Dalam contoh ini, kami menggunakan alamat lokal server:
swaks -s 127.0.0.1 -f sender@from.com -t recipient@recipient.com
Kirim pesan dengan header baris “Subject” + header lainnya dan kemudian sertakan teks “Hello World!” dalam tubuh:
swaks -s 127.0.0.1 -f me@from.com -t them@recipient.com --header "Subject: Hello! This is the subject header\Second_header:123\nThird_Header:XYZ" --body “Hello World!”
Berikut adalah cara menambahkan lampiran, di mana SWAKS melakukan konversi base64 untuk Anda, sangat cocok untuk menguji batas ukuran pesan:
swaks -s 127.0.0.1 -f me@from.com -t them@recipient.com --attach /path/to/file.tgz
Anda sudah siap dengan dasar-dasarnya! Sekarang mari kita lihat bagaimana lagi Anda bisa meningkatkan pengaturan Anda. Berikut beberapa ide:
Gunakan penjadwal seperti chron untuk melakukan tes ‘apakah berfungsi’ dasar yang dapat bekerja sebagai fondasi atau bahkan meningkatkan sistem pemantauan Anda.
Ukur latensi saat terhubung dan menutup koneksi ke server email.
Uji versi TLS dan cipher yang berbeda
Anda tidak akan dibiarkan sendirian di sini, saya akan menunjukkan kepada Anda cara melakukan semua hal di atas. Kali ini kita akan menyuntikkan ke dalam server SparkPost kita.
Kirim pesan ke server SparkPost kami (Cara membuat kunci API di sini, dan opsi SMTP di sini). Setelah Anda mendapatkan kunci autentikasi Anda, tempelkan ke dalam perintah (pastikan untuk menjaga kunci tetap aman dan terlindungi!) :
swaks -server smtp.sparkpostmail.com:587 -tls --auth-user SMTP_Injection --auth-password [your auth key] -f me@from.com -t them@recipient.com
Jika Anda mencari panduan tentang cara memecahkan masalah pengiriman via SMTP ke server kami, lihat artikel ini.
Menggemakan praktik terbaik keamanan, SparkPost telah menghentikan semua versi TLS yang lebih lama kecuali v1.2 dan di atasnya. Jika Anda ingin melihat apakah sistem Anda kompatibel, SWAKS memungkinkan Anda menguji versi TLS dan cipher tertentu.
swaks -s smtp.sparkpostmail.com -tls -p 587 -f me@from.com -t them@recipient.com -tlsp tlsv1_2 --tls-cipher ECDHE-RSA-AES128-GCM-SHA256
Dalam contoh ini, kami menggunakan “tlsv1_2” tetapi silakan ubah itu menjadi “tlsv1_1” dan gunakan pada domain lain untuk mengamati kompatibilitasnya.
Bagaimana jika Anda ingin mengukur waktu seberapa cepat server email merespons? SWAKS dapat melalui siklus SMTP dan memutuskan di beberapa titik tanpa mengirim pesan, dan Anda dapat mengukurnya menggunakan perintah “time” yang menunjukkan di akhir output:
$ time swaks -s 127.0.0.1 -f sender@from.com -t them@recipient.com test--quit-after RCPT === Mencoba 127.0.0.1:25... === Terhubung ke 127.0.0.1. … -> RCPT TO:<them@recipient.com> <- 250 2.1.5 <them@recipient.com> ok -> QUIT <- 221 2.0.0 v1pmta5.jasdevism.com says goodbye === Koneksi ditutup dengan host jarak jauh. real 0m0.049s user 0m0.038s sys 0m0.009s
Seperti yang dijanjikan, jika Anda berhasil sejauh ini hadiahnya adalah file konfigurasi sederhana ini untuk mengatur parameter default:
$ Cd $HOME $ vim .swaksrc # Salin dan tempel ini ke dalam file .swaksrc --from swakstest@jasdevism.com h-From: "Jas Swaks" <swakstest@jasdevism.com> -s 127.0.0.1 --body "This is a test!" --to jsingh@sparkpost.com
Setelah Anda menyimpannya, cukup ketik “swaks“ dan semuanya akan otomatis terisi dan dikirim dengan senang hati! Bahkan lebih baik, Anda dapat mengganti dengan menambahkannya pada baris perintah, misalnya Anda ingin penerima yang berbeda:
swaks -t recipient@somewherelse.com