Bagaimana cara mengirim email melalui mailx
perintah UNIX ?
Bagaimana cara mengirim email melalui mailx
perintah UNIX ?
Jawaban:
sebuah contoh
$ echo "something" | mailx -s "subject" recipient@somewhere.com
untuk mengirim lampiran
$ uuencode file file | mailx -s "subject" recipient@somewhere.com
dan untuk mengirim lampiran DAN menulis badan pesan
$ (echo "something\n" ; uuencode file file) | mailx -s "subject" recipient@somewhere.com
mail
.
uuencode
adalah teknologi warisan dari milenium lampau yang tidak menghasilkan apa yang kita maksud sekarang dengan "kemelekatan". Ini pada dasarnya menempatkan sepotong campur aduk yang dapat dibaca mesin di akhir teks pesan. Di zaman sekarang ini, Anda akan lebih baik dilayani oleh mailer yang peka-MIME dengan baik. Sayangnya, tidak ada mailx
penggantian yang didukung secara universal dengan fitur MIME, tetapi jika Anda punya mutt
, itu mungkin jalur yang paling tidak tahan.
Ini dia:
echo "Body" | mailx -r "FROM_EMAIL" -s "SUBJECT" "To_EMAIL"
PS. Tubuh dan subjek harus diberi tanda petik ganda. Hapus kutipan dari FROM_EMAIL
dan To_EMAIL
saat mengganti alamat email.
mailx -s "subjec_of_mail" abc@domail.com < file_name
melalui mailx
utilitas kita dapat mengirim file dari unix
ke mail server
. Di sini, di kode di atas kita bisa melihat parameter pertama adalah -s "subject of mail"
parameter kedua mail ID
dan parameter terakhir adalah nama file yang ingin kita lampirkan
mail [-s subject] [-c ccaddress] [-b bccaddress] toaddress
-c dan -b adalah opsional.
-s: Tentukan subjek; jika subjek berisi spasi, gunakan tanda kutip.
-c: Kirim salinan karbon ke daftar pengguna yang dipisahkan dengan koma.
-b: Kirim salinan blind carbon ke daftar pengguna yang dipisahkan dengan koma.
Semoga jawaban saya menjelaskan keraguan Anda.
Lebih cepat dengan perintah MUTT
echo "Body Of the Email" | mutt -a "File_Attachment.csv" -s "Daily Report for $(date)" -c cc_mail@g.com to_mail@g.com -y
echo "" | mutt -s "test" -a ./file -- name@mail.com -y
Dari halaman manual:
Mengirim surat
Untuk mengirim pesan ke satu atau lebih orang, mailx bisa dipanggil dengan argumen yang merupakan nama orang yang akan dikirimi email. Pengguna kemudian diharapkan untuk mengetikkan pesannya, diikuti dengan 'control-D' di awal baris.
Dengan kata lain, mailx membaca konten yang akan dikirim dari input standar dan dapat dialihkan seperti biasa. Misalnya:
ls -l $HOME | mailx -s "The content of my home directory" someone@email.adr
echo "Sending emails ..."
NOW=$(date +"%F %H:%M")
echo $NOW " Running service" >> open_files.log
header=`echo "Service Restarting: " $NOW`
mail -s "$header" abc.xyz@google.com, \
cde.mno@yahoo.com, \ < open_files.log
Menyesuaikan alamat FROM
MESSAGE="SOME MESSAGE"
SUBJECT="SOME SUBJECT"
TOADDR="u@u.com"
FROM="DONOTREPLY"
echo $MESSAGE | mail -s "$SUBJECT" $TOADDR -- -f $FROM
mail
dan mailx
perintah yang tidak kompatibel dengan opsi berbeda.
Berikut adalah fungsi multifungsi untuk menangani pengiriman surat dengan beberapa lampiran:
enviaremail() {
values=$(echo "$@" | tr -d '\n')
listargs=()
listargs+=($values)
heirloom-mailx $( attachment=""
for (( a = 5; a < ${#listargs[@]}; a++ )); do
attachment=$(echo "-a ${listargs[a]} ")
echo "${attachment}"
done) -v -s "${titulo}" \
-S smtp-use-starttls \
-S ssl-verify=ignore \
-S smtp-auth=login \
-S smtp=smtp://$1 \
-S from="${2}" \
-S smtp-auth-user=$3 \
-S smtp-auth-password=$4 \
-S ssl-verify=ignore \
$5 < ${cuerpo}
}
function call: enviaremail "smtp.mailserver: port" "from_address" "authuser" "'pass'" "destination" "daftar lampiran dipisahkan oleh spasi"
Catatan: Hapus tanda kutip ganda dalam panggilan
Selain itu, harap ingat untuk menentukan secara eksternal $ titulo (subjek) dan $ cuerpo (body) email sebelum menggunakan fungsi
Jika Anda ingin mengirim lebih dari dua orang atau DL:
echo "Message Body" | mailx -s "Message Title" -r sender@someone.com receiver1@someone.com,receiver_dl@.com
sini: