Saya ingin menggunakan sendmail untuk mengirimi saya barang dan ingin melakukannya di oneliner.
echo "mail content" | sendmail emailataddres.com
Mengirimnya tanpa subjek.
Baris subjek harus ada sebelum konten Mail, jadi saya mencari sesuatu di sepanjang baris:
echo "mail content" | prepend "Subject: All that matters" | sendmail emailataddres.com
sed dan awk cenderung sangat canggung untuk digunakan dan diingat.
EDIT : Hanya untuk memperjelas: gema "Konten email" hanyalah contoh ilustrasi. Saya harus bisa menambahkan beberapa hal ke stdout stream dari sumber apa pun. misal: ifconfig, zcat, dll.
prepend
dilakukan Untuk mengetahui cara menambahkan sesuatu, Anda harus menunggu hingga perintah upstream (mis. echo
) Mengirim EOF, sehingga Anda dapat memasukkan data Anda di depannya dalam aliran sebelum meneruskannya ke stdout untuk mendapatkan piped ke sendmail. Kedengarannya seperti tugas untuk skrip Ruby atau Python yang agak pendek.
mail
perintah (kadang-kadang disebut bsdmail) alih-alih sendmail
secara langsung. mail
mengambil -s subject
opsi opsional , misalnya: ifconfig -a | mail -s 'Current ifconfig output' me@someaddr.com
echo -e "Subject: All that matters\nmail content"
? Atau lebih platform agnostik:printf 'Subject: %s\n%s\n' "All that matters" "mail content"
. Anda juga bisa menulis skrip kecil yang hanya membutuhkan dua argumen string untuk membuat satu kalimat yang lebih sederhana.