Saat membuat email HTML, haruskah kita menggunakan tag html, head, body?

113

Dalam tampilan email saya, saya biasanya hanya melakukan sesuatu seperti ...

<dl>
   <dt>Name</dt>
   <dd>Value</dd>
</dl>

Haruskah saya melakukannya seperti ini?

<html>
  <head></head>
  <body>
    <dl>
       <dt>Name</dt>
       <dd>Value</dd>
    </dl>
  </body>
</html>

Dengan kata lain, seperti saya menandai dokumen mandiri?

Saya kira saya dapat dengan aman berasumsi bahwa klien email berbasis web akan menghapusnya?

Bagaimana cara yang benar?

alex
sumber
Untuk apa layak itu, Thunderbird output html, headdan bodytag dalam pesan nya.
palswim

Jawaban:

44

Cara yang benar adalah mengikuti standar HTML . Anda dapat memvalidasi halaman HTML Anda di sini .

Klien email Anda harus mengikutinya dan membuang apa yang tidak didukung atau yang tidak aman seperti javascript.

PEMBARUAN: setelah beberapa suara negatif dari orang-orang yang marah ketika Anda memberi tahu mereka untuk mengikuti standar, saya akan mengungkapkan beberapa alasan mengapa mengikuti standar dapat bermanfaat di sini:

  1. webmail yang ingin menampilkan email Anda sebagai satu halaman penuh, dapat mempertahankan format Anda.
  2. webmail hanya akan menghapus tag dan atribut yang tidak diinginkannya. Tapi Anda tidak akan pernah tahu yang mana.
  3. Lebih mudah menemukan komponen (sisi server) yang mengikuti standar format, dan dengan demikian lebih sedikit rawan kesalahan. Pengurai yang tidak mengikuti standar dapat rusak, membuat email Anda tidak ditampilkan.
mschonaker.dll
sumber
54
-1 Cara yang benar adalah mengujinya di klien yang relevan. Meskipun klien email harus mengikuti standar, hampir tidak ada yang melakukannya.
Dan Pukulan
27
mschonaker benar. Jika semua orang mulai mengikuti standar, maka penggunaannya akan ... baik ... standar. Jika tidak, semua pengembang harus menerapkan peretasan untuk cita rasa hari ini (memikirkan Anda, IE6!). Cara yang BENAR adalah mengikuti standar.
cjcela
4
Tidak ada standar untuk "email html". Anda menunjuk ke standar untuk html.
rds
2
Saya setuju dengan jawaban ini, sementara banyak klien membuat html yang tidak valid, format paling andal yang akan ditampilkan di sebagian besar klien adalah memiliki html yang valid!
markmnl
3
Ini jawaban yang benar. Jenis pantomim dari bagian atau badan adalah teks / html. Terlepas dari konteksnya, jenis ini harus dipatuhi oleh standar apakah itu browser web atau klien email. @cjcela memiliki ide yang tepat, jika kita semua terjebak dalam mendukung IE8, web tidak akan berkembang. Jika kita tidak berpegang pada standar bagaimana HTML dalam email berkembang? Apa yang harus Anda lakukan adalah tetap berpegang pada standar, tetapi ketahuilah bahwa hal-hal seperti stylesheet headdapat diabaikan dan memiliki penggantian yang anggun.
Brett Ryan
33

Apakah Anda menyertakan tag html / head / body sama sekali tidak relevan - tag tersebut selalu opsional dan tidak akan memengaruhi rendering dokumen dengan cara apa pun.

Yang paling penting adalah apakah mode quirks aktif atau tidak. Sayangnya, Anda tidak dapat mengontrolnya dalam pengaturan email web. Tabel dan gaya sebaris adalah teman Anda. Taruhan terbaik Anda adalah menguji sebanyak mungkin webmail dan klien desktop.

Josh Lee
sumber
4
"mereka selalu opsional dan tidak akan mempengaruhi rendering dokumen" itu tidak benar, banyak render kurang toleran terhadap kesalahan dan dapat dengan tepat memilih untuk tidak membuat html yang tidak valid.
markmnl
Apa yang terjadi jika klien email memiliki tautan "Lihat email ini di browser"? Terserah browser default untuk merender HTML yang tidak valid.
Sergey
13

Banyak postingan di utas ini yang agak tua, dan akibatnya tidak lagi akurat.

Saat ini email HTML harus menyertakan deklarasi doctype, html dan body jika Anda berniat melakukan sesuatu yang mewah sama sekali.

Ada banyak panduan tentang hal ini yang dapat membantu Anda mempelajari cara membuat kode HTML Email dengan benar, tetapi kebanyakan dari mereka mengabaikan spesifikasi dari sebuah doctype, yang mana saya tersandung pada pertanyaan Anda.

Saya sarankan Anda membaca 2 posting berikut yang berasal dari tim terkemuka yang akrab dengan berbagai masalah:

pengambilan monitor kampanye

email tentang pengambilan asam

kamelkev
sumber
Lucu ... Anda mengatakan posting di sini sudah tua dan Anda memberi link pada jawaban Anda ke posting blog yang berumur 7 tahun!
Alexis Wilke
2
Ya, tapi posting blog yang dipilih telah dipilih dengan hati-hati karena sifat otoritatifnya, dan mereka melihat ke depan pada saat itu. Pendapat yang mereka ungkapkan cukup jarang saat itu, terutama jika Anda kontras dengan pernyataan bertanggal yang dibagikan oleh tanggapan lain di sini.
kamelkev
@AlexisWilke dan salah satu tautannya bahkan disebutkan di sini 3 tahun sebelumnya! Tapi setidaknya sekarang ada jawaban jadi saya bisa mencoba menaikkannya dengan suara positif
Hashbrown
11

Tergantung sepenuhnya pada klien email yang menerimanya. Menurut pengalaman saya, sebagian besar klien email yang akan menafsirkan HTML tidak peduli jika Anda memiliki tag seluruh tubuh / head / html, dll. Bahkan, Anda bahkan tidak memerlukan tag tersebut untuk sebagian besar browser. Anda harus memiliki tag kepala untuk menyertakan gaya / judul, dll. Jika tidak, tag tersebut sebenarnya tidak diperlukan. Saya tidak pernah melihat mereka perlu.

Pil Ledakan
sumber
3
Tag html / head / body selalu opsional.
Josh Lee
10

Ada 1 hal yang saya tahu benar: Menggunakan tag pembuka dan penutup HTML akan membantu dalam penilaian spam secara umum karena fakta bahwa banyak filter berbasis alat dan firewall perangkat lunak akan menambahkan satu poin atau lebih ke email yang menggunakan html tetapi tidak menggunakan tag pembuka dan penutup.

Greg
sumber
11
Apakah Anda memiliki bukti untuk mendukung klaim ini?
alex
10
Saya mengamati perilaku ini dalam beberapa hari terakhir hanya dengan "melihat yang asli" di Gmail. Di sana saya dapat melihat skor spam untuk email tanpa tag penutup pembuka: mis. X-Spam-Level: * | X-Spam-Report: skor = 1,6 tes = HTML_MESSAGE, HTML_MIME_NO_HTML_TAG, MIME_HTML_ONLY | X-Spam-Score: 1 - mis. Lihat wiki.apache.org/spamassassin/Rules/HTML_MIME_NO_HTML_TAG
Richard Hollis
1
Saya telah melihat ini juga, dan beberapa perusahaan memiliki ambang karantina spam yang sangat rendah sehingga kehilangan tag HTML sudah cukup untuk mencegah email Anda masuk. Halaman ini tidak mencantumkan pengaturan persis yang tersedia, tetapi saya telah melihat perangkat lunak meninggalkan pesan tentang aturan "HTML_MIME_NO_HTML_TAG", dengan deskripsi "pesan HTML saja, tetapi tidak ada tag HTML". techlib.barracuda.com/BSF/SpamScoring
JHS
3

Menurut saya tidak ada cara yang benar tetapi mencoba membuat email dapat dilihat di sebanyak mungkin pembaca email.

Saya biasanya memeriksa email di Thunderbird, karena Outlook lebih memaafkan.

Di Thunderbird ini adalah kode HTML untuk email (saya memiliki ekstensi yang menunjukkan html)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body bgcolor="#ffffff" text="#000000">
        This is the body text<br>
<div class="moz-signature"><i><br>
<br>
Regards<br>
Alex<br>
</i></div>
</body>
</html>

BTW, saya menggunakan email teks biasa untuk semua formulir web saya setiap kali saya bisa. Saya memiliki banyak masalah dengan email blackberry menggunakan html + email teks biasa.

Alex Angelico
sumber