我正在研究一些oracle代码来生成HTML电子邮件。它主要是工作,但我使用生成的HTML并将其放在Dreamweaver CS6中以使用验证。我收到了一些错误:
1)没有在文档级[HTML 4.01]
声明的字符编码2)元素“U”未定义[HTML 4.01]
html代码由富文本编辑器小部件自动生成。我应该使用HTML 4.01以外的东西吗?我对HTML Header代码并不太了解。
这是我的测试生成的HTML代码。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Saint Susanna Parish Mailing</title>
</head>
<body>
<p>This is normal text</p>
<p>
<strong>This is bold</strong>
</p>
<p>
<u>This is Underscored</u>
</p>
<ol>
<li>
<span style="color:#ff0000;">This is numbered</span>
</li>
</ol>
<ul>
<li>This is bulleted</li>
</ul>
<p style="text-align: center;">This is centered</p>
<p>
<span style="font-size:18px;"><span style="font-family: times new roman,times,serif;">This is a new font</span></span>
</p>
<p style="text-align: right;">This is right justified</p>
<p> </p>
</body>
</html>
感谢您查看此内容。
答案 0 :(得分:2)
我认为编码可以 - 并且必须在邮件头中指定,所以我会忽略该警告。
文章The Importance of Content-Type Character Encoding in HTML Emails说:
[客户端]将根据已设置的内容类型显示电子邮件。 但是,电子邮件客户端会读取在中设置的Content-Type值 电子邮件标题,他们完全忽略其中的META标记 HTML。
因此,这表明您应该添加正确的标头,并且可以安全地忽略验证器的警告,尽管它也不会因为添加元标记而受到伤害。
如果您想获得第二意见,可以尝试使用W3C Markup Validation Service,但也可能会抱怨缺少内容类型。毕竟,这些验证器不知道您要提供什么标头。
无论如何,不同的规则适用于HTML邮件。客户基本上忽略了身体外的一切。它们还会过滤掉各种属性,不允许使用JavaScript并完全忽略外部样式表和内联样式标记。
<u>
标记为deprecated in HTML 4.01但未过时。在这种情况下,验证器似乎是错误的,所以我也会忽略该警告。我根本不会强调文本,因为很明显,文本很容易被误认为是链接。如果您需要,并且不想使用<u>
,则可以使用内联text-decoration
样式。
答案 1 :(得分:-3)
一些建议:
你可以通过使用类等来做很多控制 - 在你首先调用的style.css文件中声明。
<!DOCTYPE HTML> - HTML 5
<b> and </b> can replace strong to save characters
<link rel="stylesheet" type="text/css" href="../style.css" title="Standard Style">