GNU/Linux >> Belajar Linux >  >> Linux

Kirim email dari baris perintah dengan server smtp eksternal di Linux

Kirim email melalui server SMTP

Perintah mail default pada terminal Linux, menggunakan server smtp lokal (mta) pada port 25 untuk mengirim email. Namun terkadang Anda perlu menentukan server smtp eksternal yang akan digunakan untuk mengirim email.

Misalnya Anda baru saja menyiapkan server smtp, seperti Postfix atau Exim, maka Anda ingin mengujinya untuk memeriksa apakah ia menerima dan menyampaikan email dengan benar atau tidak.

Mampu mengirim email dari baris perintah menggunakan server smtp eksternal ini lebih cepat daripada harus menyiapkan klien email seperti Thunderbird di mesin lokal Anda.

Ada 2 utilitas baris perintah yang disebut mailx dan swaks yang dapat digunakan untuk mengirim email menggunakan server smtp eksternal. Ini cukup berguna ketika Anda perlu mengirim email dari skrip bash secara otomatis.

1. perintah mailx

Perintah mailx tersedia dari berbagai paket seperti mailutils, heirloom-mailx dll. Pertama, Anda perlu menggunakan perintah aptitude untuk mencari paket mailx yang tersedia untuk sistem Anda. Ini contohnya

$ aptitude search mailx
p   bsd-mailx                                                              - simple mail user agent
p   bsd-mailx:i386                                                         - simple mail user agent
v   mailx                                                                  -
v   mailx:i386

Untuk mengetahui perintah mailx yang digunakan sistem Anda, jalankan perintah readlink. Berikut adalah contoh keluarannya.

$ readlink -f /usr/bin/mailx
/usr/bin/bsd-mailx
$ readlink -f /usr/bin/mailx
/usr/bin/mail.mailutils

Tidak semua varian mailx dapat menggunakan server smtp eksternal untuk mengirim email. Hanya yang berasal dari paket s-nail (ditarik oleh heirloom-mailx) yang dapat melakukannya.

Kami akan menggunakan heirloom-mailx karena memungkinkan untuk menentukan detail koneksi smtp dalam satu perintah dan masalah serta email dengan cepat.

$ sudo apt-get install heirloom-mailx

Sekarang kirim email dengan server smtp eksternal seperti ini -

echo "This is the message body and contains the message" | mailx -v -r "[email protected]" -s "This is the subject" -S smtp="mail.example.com:587" -S smtp-use-starttls -S smtp-auth=login -S smtp-auth-user="[email protected]" -S smtp-auth-password="abc123" -S ssl-verify=ignore [email protected]

Ini adalah versi langkah demi langkah dari perintah yang sama -

$ echo "This is the message body and contains the message" | mailx -v \
> -r "[email protected]" \
> -s "This is the subject" \
> -S smtp="mail.example.com:587" \
> -S smtp-use-starttls \
> -S smtp-auth=login \
> -S smtp-auth-user="[email protected]" \
> -S smtp-auth-password="abc123" \
> -S ssl-verify=ignore \
> [email protected]

Pastikan untuk menggunakan pengaturan yang benar, seperti nomor port, mekanisme otentikasi, dll. Perintah tersebut akan menghasilkan keluaran verbose yang memberikan detail lengkap dari komunikasi smtp yang berlangsung di belakang, sehingga sangat mudah untuk menguji dan men-debug.

Catatan: Paket heirloom-mailx telah dihapus dari Ubuntu versi 18 dan seterusnya. Sekarang Anda harus menginstal paket s-nail.

$ sudo apt-get install s-nail

Perintah s-nail sama dengan perintah heirloom mailx. Hanya namanya saja yang berbeda. Jalankan perintah yang sama di atas dengan mengganti mailx dengan s-nail dan itu akan berhasil.

Jika Anda menggunakan s-nail versi terbaru (14.9.x), sintaks untuk menentukan detail server smtp mungkin sedikit berbeda. Periksa manual terbaru di sini

http://manpages.ubuntu.com/manpages/bionic/en/man1/s-nail.1.html

Lihat posting sebelumnya tentang perintah mailx di sini -
9 contoh perintah mail/mailx untuk mengirim email dari baris perintah di Linux

2. Perintah Swaks

Swaks (Pisau tentara Swiss untuk SMTP) adalah alat baris perintah sederhana yang dapat digunakan untuk menguji server smtp untuk memeriksa apakah mereka melakukan tugasnya dengan benar. Ini juga mendukung TLS.

Instal swaks di Ubuntu/Debian dengan perintah berikut

$ sudo apt-get install swaks

Sekarang kirim email

$ echo "This is the message body" | swaks --to [email protected] --from "[email protected]" --server mail.example.com --auth LOGIN --auth-user "[email protected]" --auth-password "abc123" -tls

Semua opsi cukup jelas. Opsi "--server" menentukan server SMTP eksternal yang akan digunakan, "--auth" menentukan jenis otentikasi. Opsi "-tls" memberi tahu swaks untuk menggunakan STARTTLS.

Periksa halaman manual untuk opsi lainnya.


Linux
  1. 4 Cara Mengirim Lampiran Email dari Baris Perintah Linux

  2. Cara Termudah Mengirim Email Dengan Lampiran Gambar Dari Baris Perintah Menggunakan Gmail?

  3. 9 contoh perintah mail/mailx untuk mengirim email dari baris perintah di Linux

  1. Kirim email dari terminal atau skrip linux menggunakan perintah email

  2. Bagaimana cara Mengirim Email melalui server SMTP Eksternal menggunakan perintah mailx di Linux?

  3. Bagaimana Cara Mengirim Email Html Menggunakan Perintah 'mail' Linux?

  1. Migrasi server Linux dari baris perintah

  2. Linux / UNIX :Cara mengirim email dengan lampiran menggunakan perintah mailx

  3. Bagaimana cara Mengirim Email dari Baris Perintah?