Pertama, Anda perlu menulis pesan. Minimal terdiri dari dua header ini:
MIME-Version: 1.0
Content-Type: text/html
... dan isi pesan yang sesuai:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title></title>
</head>
<body>
<p>Hello, world!</p>
</body>
</html>
Setelah Anda memilikinya, Anda dapat meneruskan informasi yang sesuai ke perintah mail:
body = '...'
echo $body | mail \
-a "From: [email protected]" \
-a "MIME-Version: 1.0" \
-a "Content-Type: text/html" \
-s "This is the subject" \
[email protected]
Ini adalah contoh yang terlalu disederhanakan, karena Anda juga perlu menangani rangkaian karakter, pengodean, panjang baris maksimum... Tapi ini pada dasarnya idenya.
Sebagai alternatif, Anda dapat menulis skrip Anda dalam Perl atau PHP daripada shell biasa.
Perbarui
Skrip shell pada dasarnya adalah file teks dengan akhiran baris Unix yang dimulai dengan baris yang disebut shebang yang memberi tahu shell juru bahasa mana yang harus meneruskan file tersebut, mengikuti beberapa perintah dalam bahasa yang dipahami juru bahasa dan memiliki izin eksekusi (di Unix itu adalah atribut berkas). Misalnya, katakanlah Anda menyimpan yang berikut sebagai hello-world
:
#!/bin/sh
echo Hello, world!
Kemudian Anda menetapkan izin eksekusi:
chmod +x hello-world
Dan akhirnya Anda dapat menjalankannya:
./hello-world
Apa pun, ini tidak ada hubungannya dengan pertanyaan awal. Anda harus terbiasa dengan skrip shell dasar sebelum melakukan tugas lanjutan dengannya. Ini dia beberapa tautan tentang bash , shell populer:
http://www.gnu.org/software/bash/manual/html_node/index.html
http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html
Sejauh ini saya telah menemukan dua cara cepat di cmd linux
- Gunakan surat jadul
mail -s "$(echo -e "This is Subject\nContent-Type: text/html")" [email protected] < mytest.html
- Gunakan mutt
mutt -e "my_hdr Content-Type: text/html" [email protected] -s "subject" < mytest.html
Tag tersebut menyertakan 'sendmail' jadi inilah solusi untuk menggunakannya:
(
echo "From: [email protected] "
echo "To: [email protected] "
echo "MIME-Version: 1.0"
echo "Content-Type: multipart/alternative; "
echo ' boundary="some.unique.value.ABC123/server.xyz.com"'
echo "Subject: Test HTML e-mail."
echo ""
echo "This is a MIME-encapsulated message"
echo ""
echo "--some.unique.value.ABC123/server.xyz.com"
echo "Content-Type: text/html"
echo ""
echo "<html>
<head>
<title>HTML E-mail</title>
</head>
<body>
<a href='http://www.google.com'>Click Here</a>
</body>
</html>"
echo "------some.unique.value.ABC123/server.xyz.com--"
) | sendmail -t
Pembungkus untuk sendmail dapat mempermudah pekerjaan ini, misalnya, mutt:
mutt -e 'set content_type="text/html"' [email protected] -s "subject" < message.html