GNU/Linux >> Belajar Linux >  >> Linux

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

mail -s "subject" [email protected] <test.html
berfungsi, tetapi hanya untuk email teks biasa.

Apa cara yang benar untuk mengirim email HTML menggunakan perintah Linux mail ?

Jawaban yang Diterima:

Ada banyak versi berbeda dari mail sekitar. Saat Anda melampaui mail -s subject [email protected] [email protected] <body (untuk pengiriman, itu saja jaminan POSIX — dan bahkan -s tidak ada di masa lalu), mereka cenderung memiliki opsi baris perintah yang berbeda. Menambahkan header tambahan tidak selalu mudah.

  • Dengan beberapa mailx implementasi, mis. dari mailutils di bsd-mailx Ubuntu atau Debian , mudah, karena ada opsi untuk itu.

    mailx -a 'Content-Type: text/html' -s "Subject" [email protected] <test.html
    
  • Dengan mailx Pusaka , tidak ada cara yang nyaman. Satu kemungkinan untuk menyisipkan tajuk arbitrer adalah dengan mengatur editheaders=1 dan gunakan editor eksternal (yang bisa berupa skrip).

    ## Prepare a temporary script that will serve as an editor.
    ## This script will be passed to ed.
    temp_script=$(mktemp)
    cat <<'EOF' >>"$temp_script"
    1a
    Content-Type: text/html
    .
    $r test.html
    w
    q
    EOF
    ## Call mailx, and tell it to invoke the editor script
    EDITOR="ed -s $temp_script" heirloom-mailx -S editheaders=1 -s "Subject" [email protected] <<EOF
    ~e
    .
    EOF
    rm -f "$temp_script"
    
  • Dengan mailx POSIX umum , saya tidak tahu cara membuka header.

Jika Anda akan menggunakan mail atau mailx , perlu diingat bahwa

  • Ini tidak portabel bahkan dalam distribusi Linux tertentu. Misalnya, Ubuntu dan Debian memiliki beberapa alternatif untuk mail dan mailx .
  • Saat menulis pesan, mail dan mailx memperlakukan baris yang dimulai dengan ~ sebagai perintah. Jika Anda mengirim teks ke mail , Anda perlu mengatur agar teks ini tidak berisi baris yang diawali dengan ~ .

Jika Anda tetap akan menginstal perangkat lunak, sebaiknya Anda menginstal sesuatu yang lebih dapat diprediksi daripada mail /Mail /mailx . Misalnya, mut. Dengan Mutt, Anda dapat menyediakan sebagian besar header di input dengan -H opsi, tetapi bukan Content-Type , yang perlu disetel melalui opsi mutt.

mutt -e 'set content_type=text/html' -s 'hello' '[email protected]' <test.html

Atau Anda dapat memanggil sendmail secara langsung. Ada beberapa versi sendmail di luar sana, tetapi mereka semua mendukung sendmail -t untuk mengirim surat dengan cara yang paling sederhana, membaca daftar penerima dari surat. (Saya pikir mereka tidak semua mendukung Bcc: .) Pada kebanyakan sistem, sendmail tidak dalam $PATH biasa , ada di /usr/sbin atau /usr/lib .

cat <<'EOF' - test.html | /usr/sbin/sendmail -t
To: [email protected]
Subject: hello
Content-Type: text/html

EOF

Linux
  1. Kirim email dari terminal atau skrip linux menggunakan perintah email

  2. Cara Mengirim Email ke Pengguna Eksternal Dengan Mailx di Linux

  3. Bagaimana cara Mengirim Email dari Baris Perintah?

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

  2. Cara Reboot Linux Menggunakan Command Line

  3. Bagaimana cara melampirkan file menggunakan perintah mail di Linux?

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

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

  3. Bagaimana cara mematikan proses di Linux menggunakan perintah?