GNU/Linux >> Belajar Linux >  >> Linux

Kirim email dari terminal atau skrip linux menggunakan perintah email

Ada klien baris perintah berbasis terminal lain yang juga dapat digunakan untuk mengirim email seperti sendmail, mutt, SSMTP, telnet tetapi dalam panduan ini kita akan fokus pada mail perintah.

Perintah mail memanggil biner sendmail standar (/usr/sbin/sendmail) yang pada gilirannya menghubungkan ke MTA lokal untuk mengirim email ke tujuannya. MTA lokal adalah server smtp yang berjalan secara lokal yang menerima email pada port 25.

Ini berarti bahwa server smtp seperti Postfix harus dijalankan pada mesin tempat Anda ingin menggunakan perintah mail. Jika tidak ada yang berjalan Anda mendapatkan pesan kesalahan "send-mail:Cannot open mail:25".

Pemasangan

Instal dengan perintah ini:

Untuk Ubuntu

sudo apt-get install mailutils 

Untuk centos 7

sudo yum install -y mailx

Untuk centos 8/Alma Linux/Rhel

sudo dnf install -y mailx

Uji apakah perintah berhasil diinstal dengan perintah ini:

mail

Perintah di atas memeriksa apakah ada email untuk pengguna saat ini. Anda akan melihat output seperti ini:

➜ mail
No mail for centos

Penggunaan

Mengirim email sederhana

Gunakan perintah ini untuk mengirim email ke [email protected] . -s argumen baris perintah adalah untuk menentukan subjek.

mail -s "Test mail" [email protected]

Perintah di atas akan memblokir setelah menekan enter menunggu Anda mengetik pesan Anda. Setelah selesai gunakan Ctrl-D untuk memberi tahu klien email bahwa Anda telah selesai dan email siap dikirim.

❯ mail -s "Test mail" [email protected]
Hey John,

Please remember to send me the Linux Book.

Regards,
Me.
EOT

EOT dimasukkan ketika saya menekan Ctrl-D . Setelah Anda melakukannya, perintah email akan mengirimkan pesan untuk pengiriman dan selesai.

Kirim pesan dengan konten dari file

Gunakan perintah ini untuk mengirim pesan dari file /path/to/file.txt .

mail -s "Test mail" [email protected] < /path/to/file.txt

Anda juga dapat menggunakan liner yang satu ini di mana Anda menggemakan konten untuk dikirim lalu menyalurkannya ke perintah email.

echo "Hello world" | mail -s "Test mail" [email protected]

Kirim email ke beberapa penerima

Untuk mengirim email ke beberapa penerima, Anda dapat menggunakan daftar email yang dipisahkan koma seperti dalam contoh ini:

echo "Hello world" | mail -s "Test mail" [email protected],[email protected]

Menambahkan penerima CC dan BCC

Alamat blind carbon copy (BCC) dan carbon copy (CC) juga dapat dilampirkan. Gunakan -c <email> untuk CC dan -b <email> untuk bcc.

Contoh ini menentukan CC dan BCC:

echo "Hello world" | mail -s "Test mail" -c [email protected] -b [email protected]

Tentukan Dari nama dan alamat

Anda dapat menggunakan opsi -r untuk menentukan nama dan alamat dari seperti yang terlihat di bawah ini:

echo "Hello world" | mail -s "Test mail" –r "Kip<[email protected]>" [email protected]

Atau, Anda dapat menggunakan -a untuk menambahkan header tambahan untuk dilampirkan dengan pesan. Berikut adalah contoh cara memberikan FROM sebagai bagian dari itu.

echo "Hello world" | mail -s "Test mail" [email protected] -aFrom:[email protected]

Untuk menentukan nama dari, gunakan sintaks berikut:

echo "Hello world" | mail -s "Test mail" [email protected] --aFrom:Kip\<[email protected]\>

Harap dicatat bahwa kita harus menghindari panah kurang dan besar karena mereka memiliki arti khusus untuk prompt shell. Saat Anda mengeluarkan perintah dari dalam beberapa skrip, Anda akan menghilangkannya.

Tentukan alamat “Balas-Ke”

Gunakan replyto untuk menentukan balasan ke alamat seperti dalam contoh ini:

echo "Hello world" | mail -s "Test mail" [email protected] [email protected]

Email dengan lampiran

Kirim email dari [email protected] ke [email protected] dengan lampiran.

mail -s "The File you requested" -a ~/Documents/file.txt -r [email protected] [email protected] <<EOF
Hi jane,

Please find the file requested attached.

Kind Regards,
John.
EOF

Kirim email ke pengguna sistem lokal

Untuk mengirim email ke pengguna sistem lokal, hanya tentukan nama pengguna sebagai ganti penerima. Anda dapat menambahkan nama host tetapi tidak perlu menggunakan @hostname .

mail -s "Test Subject" username 

Mengaktifkan Verbose

Jika Anda perlu memeriksa apa yang terjadi saat email sedang diproses, aktifkan keluaran verbose dengan arg -v . Ini bagus untuk pemecahan masalah seperti ketika Anda ingin memeriksa perintah SMTP yang digunakan oleh perintah email. Ini contohnya:

mail -v -s "Hello theere" [email protected] <<< 'This is the message' 

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

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

  3. Bagaimana cara Mengirim Email dari Baris Perintah?

  1. 4 Cara Mengirim Lampiran Email dari Baris Perintah Linux

  2. Tentukan dari pengguna saat mengirim email menggunakan perintah email

  3. matlab mengeksekusi skrip dari baris perintah linux

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

  2. Kirim email dari baris perintah dengan server smtp eksternal di Linux

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