kirim email dari terminal linux dalam satu baris [tertutup]


148

Saya tahu ada perintah maildi linux untuk mengirim email melalui baris perintah. Bagaimana saya bisa mengirim email sederhana dengan satu baris dari terminal?

Sebagai contoh:

mail user@gmail.com [subject] [body]

Dan sudahkah email dikirim tanpa konfirmasi atau konfirmasi kepada pengguna?

Alasannya, saya ingin mengirim pesan singkat melalui email ke diri saya ketika peristiwa tertentu terjadi dalam suatu javaprogram. Idenya adalah bahwa saya akan menggunakan Runtime.getRuntime()... dll untuk mengirim mail commanddari javaprogram saya .

Saya pernah cronmelakukan sesuatu yang serupa di masa lalu, tetapi implementasi saat ini tidak digunakan cron, jadi saya perlu mencoba ini sebagai gantinya.


Gunakan bulk mail CLI, alat yang efisien dan kuat untuk mengirim email yang dinamis ke milis dengan hanya satu perintah mudah: bulkmail mail! Lakukan pemasaran email cepat, mini, dan tanpa kerumitan dengan alat kecil namun bertenaga ini 💌 bulkmail.now.sh
Kumar Abhirup

Jawaban:


209

mail dapat mewakili beberapa program di sistem linux. Yang Anda inginkan adalah sendmail atau postfix . Saya merekomendasikan yang terakhir.

Anda dapat menginstalnya melalui manajer paket favorit Anda. Maka Anda harus mengonfigurasinya, dan setelah melakukannya, Anda dapat mengirim email seperti ini:

 echo "My message" | mail -s subject user@gmail.com

Lihat manual untuk informasi lebih lanjut.

Sejauh mengonfigurasi postfix, ada banyak artikel di internet tentang cara melakukannya. Kecuali Anda berada di server publik dengan domain terdaftar, Anda biasanya ingin meneruskan email ke server SMTP tempat Anda dapat mengirim email.

Untuk gmail, misalnya, ikuti http://rtcamp.com/tutorials/linux/ubuntu-postfix-gmail-smtp/ atau tutorial serupa lainnya.


4
Postfix kuat tetapi jika Anda hanya perlu mengirim email coba "ssmtp". Paket ini lebih kecil dan tidak menjalankan daemon seperti postfix. Ini mendukung protokol aman dan bekerja dengan gmail.
oᴉɹǝɥɔ

6
"Program 'mail' saat ini tidak diinstal. Anda dapat menginstalnya dengan mengetik: apt-get install mailutils"
Tom

lebih ringan: paket nullmailerplus bsd-mailx. Cukup untuk sebagian besar stasiun kerja :) Dan sebagai nullmailertermasuk sendmailantarmuka, Anda bahkan mungkin melewatkan bsd-mailxpaket dan menggunakan pendekatan Hengjie .
Izzy

@ oᴉɹǝɥɔ ssmtpsudah usang. Gunakan msmtpsebagai gantinya.
Matt M.


32
echo "Subject: test" | /usr/sbin/sendmail user@domain.com

Ini memungkinkan Anda melakukannya dalam satu baris perintah tanpa harus menggema file teks. Jawaban ini dibangun di atas jawaban @ mti2935. Jadi kredit ada di sana.


2
Hanya untuk menambahkan jawaban untuk subjek dan isi: echo -e "Subject: test \ n \ n Konten tubuh di sini \ n" | sendmail user@domain.com
emvidi

13

Anda juga dapat menggunakan sendmail:

/usr/sbin/sendmail user@domain.com < /file/to/send

Catatan: Saya memiliki Postfix + S-Nail. Inilah yang bekerja untuk saya. Pertama saya menggunakan jawaban "Rohit Gupta" dan mengunduh utilitas surat, lalu milik Anda dan semuanya berfungsi.
Mohammed Baashar

13

Untuk pengguna Ubuntu: Pertama, Anda perlu menginstal mailutils

sudo apt-get install mailutils

Siapkan server email, jika Anda menggunakan gmail atau smtp. ikuti tautan ini . kemudian gunakan perintah ini untuk mengirim email.

echo "this is a test mail" | mail -s "Subject of mail" username@domain.com

Jika Anda menggunakan gmail dan masih ada beberapa kesalahan otentikasi maka Anda perlu mengubah pengaturan gmail:

Aktifkan Access untuk aplikasi yang kurang aman dari sini



-3

Mengirim Surat Sederhana:

$ mail -s "test message from centos" recipient@example.com
hello from centos linux command line

Ctrl+ Duntuk menyelesaikan


2
dia bertanya pada perintah online.
Rohit Gupta
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.