Skrip Bash untuk menghantar e-mel

Bash Script Send Email



E-mel adalah media komunikasi yang sangat biasa di dunia sekarang. Sesiapa sahaja boleh berkomunikasi atau berkongsi dokumen dengan rakan, ahli keluarga, dan rakan sekerja dengan mudah dengan menghantar e-mel. Secara amnya, orang menggunakan pelayan e-mel percuma seperti Gmail, Yahoo, Hotmail dll untuk menghantar e-mel tersebut. Tetapi anda boleh menghantar e-mel dari baris perintah dengan mudah dalam sistem operasi Linux. Terdapat banyak cara untuk menghantar e-mel di Linux. Beberapa cara yang biasa dan mudah untuk menghantar e-mel dalam sistem operasi Ubuntu dari terminal ditunjukkan dalam tutorial ini.

Permulaan:

Banyak arahan Linux tersedia untuk menghantar e-mel dari baris perintah atau dengan menggunakan skrip bash. Tetapi sebarang arahan menghantar e-mel tidak akan berfungsi jika tidak ada pelayan SMTP yang disiapkan dengan betul dalam sistem. Anda boleh menyediakan pelayan SMTP anda sendiri untuk menghantar e-mel dari baris arahan atau anda boleh menggunakan pelayan SMTP percuma mana-mana penyedia perkhidmatan e-mel terkenal seperti Gmail atau Yahoo. Pelayan SMTP akaun Gmail digunakan dalam tutorial ini. Untuk melakukan tugas ini, anda harus memilih akaun Gmail dan mengaktifkan pilihan ‘Benarkan aplikasi yang kurang selamat’ agar akaun tersebut dapat menghantar e-mel. Anda boleh mengunjungi tutorial berikut untuk mengaktifkan pilihan ini.







https://linuxhint.com/how-to-send-email-from-php/



Setelah mengaktifkan pilihan ini, anda harus membuka fail ‘/etc/ssmtp/ssmtp.conf’ dengan hak istimewa ‘root’ dan tambahkan baris berikut di akhir fail. Anda harus menetapkan alamat e-mel anda ke ‘AuthUser’ dan kata laluan e-mel anda ke ‘AuthPass’ untuk menyelesaikan persediaan.



GunakanSTARTTLS= YA
DariLineOverride= YA
akar= pentadbir@contoh.com
mel mel= smtp.gmail.com:587
Pengautus= nama pengguna@gmail.com
AuthPass= kata laluan

Contoh-1: Menggunakan Perintah Sendmail

Salah satu arahan penghantaran e-mel Linux yang popular adalah `sendmail '. Pengguna boleh menghantar e-mel dengan mudah dari baris arahan dengan menggunakan perintah ini. Sekiranya pakej Sendmail tidak dipasang dalam sistem, jalankan arahan berikut untuk memasang paket.





$sudotepatpasangssmtp

Misalkan, kandungan e-mel disimpan dalam fail bernama ‘email.txt’ dengan kandungan berikut. Di sini, teks selepas 'Subjek:' akan dihantar sebagai subjek e-mel dan bahagian selebihnya akan dihantar sebagai badan e-mel.

e-mel.txt



Subjek: Menghantar e-mel menggunakan sendmail
Menguji badan e-mel

Jalankan arahan 'sendmail' dengan alamat e-mel penerima seperti arahan berikut.

$hantar suratnama pengguna@gmail.com<e-mel.txt

Contoh-2: Menggunakan Perintah ‘mel’

Perintah yang paling biasa untuk menghantar e-mel di Linux adalah perintah `mail`. Perintah ini tidak dipasang pada Ubuntu secara lalai. Jalankan arahan berikut untuk memasang arahan `mail`.

$sudotepatpasangsurat mel

Perintah berikut akan menunjukkan versi perintah ini jika dipasang di sistem.

$mel-V

Pilihan ‘-s’ digunakan dalam arahan `mail` untuk menentukan subjek e-mel. Jalankan perintah 'mel' dengan pilihan '-s' dengan subjek e-mel dan alamat e-mel penerima seperti arahan berikut. Ia akan meminta alamat Cc: Sekiranya anda tidak mahu menggunakan medan Cc: kosongkan dan tekan enter. Ketik isi mesej dan tekan Ctrl + D untuk menghantar e-mel.

$mel-s 'subjek'nama pengguna@gmail.com

Sekiranya anda ingin menambahkan isi mesej e-mel dalam arahan, gunakan '<<<’ operator like the following command.

$mel-s 'subjek mesej'nama pengguna@gmail.com<<< 'badan mesej ujian'

Anda juga boleh menambahkan alamat e-mel pengirim dengan arahan `mail` dengan menggunakan pilihan '-a'. Perintah berikut akan menghantar e-mel dengan subjek, 'subjek mesej', nama pengirim dan alamat e-mel, 'Pentadbir<[dilindungi e-mel]> 'Dan alamat e-mel penerima,[dilindungi e-mel]dan badan mesej, 'mesej ujian'.

$ mel-s 'subjek mesej' -kepadaDari: Pentadbir <pentadbir@contoh.com >
nama pengguna@gmail.com<<< 'mesej ujian'

Anda juga boleh menghantar isi mesej e-mel dengan menggunakan perintah gema dan paip (|). Perintah berikut menggunakan arahan paip (|) untuk menghantar isi mesej.

$membuang 'mesej ujian' |mel-s 'subjek mesej'nama pengguna@contoh.com

E-mel boleh dihantar ke beberapa penerima dengan menggunakan perintah `mail` dan menambahkan alamat penerima dengan memisahkan koma. Perintah berikut akan dihantar e-mel kepada dua penerima.

$mel-s 'Menguji e-mel'nama pengguna1@example.com, nama pengguna2@contoh.com<ujian.txt

Contoh-3: Menggunakan arahan `mutt`

Seperti arahan `mail`, perintah` mutt` tidak dipasang pada Ubuntu secara lalai. Jalankan arahan berikut untuk memasang arahan `mutt`.

$sudotepatpasangbisu

Perintah `mutt` berfungsi serupa dengan perintah` mail` tetapi perintah `mutt` mempunyai editor sendiri untuk menghantar e-mel. Jalankan arahan berikut dengan alamat e-mel yang sah untuk menghantar e-mel.

$membuangmesej ujian|bisu-s 'Menguji E-mel'nama pengguna@contoh.com

Anda boleh melampirkan sebarang fail menggunakan pilihan ‘-a’ dengan arahan `mail` atau` mutt`. Perintah berikut akan melampirkan item item.txt semasa menghantar e-mel.

$membuang 'mesej ujian' |bisu-s 'subjek mesej' -kepadaitem.txt-nama pengguna@gmail.com

Contoh-4: Menggunakan Perintah ‘SSMTP’

Perintah e-mel lain adalah perintah `ssmtp`. Sekiranya ssmtp tidak dipasang sebelum ini, pasang pakej terlebih dahulu. Perintah pemasangan untuk ssmtp ditunjukkan dalam contoh-1. Perintah ssmtp dan sendmail berfungsi sama.

Jalankan arahan berikut dengan alamat e-mel yang sah. Taip subjek dan isi e-mel. Tekan ctrl + D untuk keluar dan menghantar e-mel.

$nama pengguna ssmtp@gmail.com

Contoh-5: Menggunakan Perintah mailx

Anda boleh menghantar kandungan HTML sebagai isi e-mel tanpa hanya menghantar mesej teks. Buat fail HTML bernama 'test.html' untuk digunakan sebagai badan mesej.

ujian.html

< html >
< badan >>
< h3 >Penghantaran E-mel</ h3 >
< membuat ukuran='2' warna='bersih'>Badan Mesej Ujian</ membuat >
<</ badan >
</ html >

Perintah `mailx` berfungsi seperti perintah` mail`. Anda harus menyebut Content-Type sebagai teks / html untuk menghantar kandungan HTML sebagai badan mesej dalam perintah `mailx`. Perintah berikut akan menghantar kandungan fail 'test.html' sebagai badan mesej e-mel.

$ mel-kepada 'Jenis Kandungan: teks / html' -s 'Menghantar e-mel dengan menggunakan mailx'
<ujian.html'[dilindungi e-mel]'

Apabila anda akan memeriksa peti masuk akaun e-mel penerima maka senarai e-mel akan ditunjukkan seperti gambar berikut.

Kesimpulannya

Setelah mengamalkan perintah di atas dengan betul, harap pembaca dapat menghantar e-mel dari baris arahan dengan mudah di Linux.