2014-12-05 122 views
-1

我正在研究一些oracle代碼來生成HTML電子郵件。它主要工作,但是我將所得到的HTML放在Dreamweaver CS6中以使用驗證。我得到一些錯誤:HTML 4.01 HTML電子郵件錯誤

1)否在文件級聲明字符編碼[HTML 4.01]

2)元素 「U」 未定義[HTML 4.01]

HTML代碼是自動生成的富文本編輯器小部件。我應該使用HTML 4.01以外的東西嗎?我對HTML標題代碼不太瞭解。

下面是從我的測試生成的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>&nbsp;</p> 
    </body> 
</html> 

感謝您關注此事。

+1

我覺得編碼可以在郵件標題中指定,所以我不會太擔心這一點。 'u'在[HTML 4.01](不贊成使用)(http://www.w3schools.com/tags/tag_u.asp)但並未過時,所以這就是驗證器似乎錯了的地方。不過,我不會強調文本,因爲很明顯,文本可能很容易被誤認爲鏈接。如果你需要,而且你不想使用'',你可以使用內聯'文本修飾'風格。 – GolezTrol 2014-12-05 17:12:23

+0

感謝您的回覆。因此,您的評論「我認爲可以在郵件標題中指定編碼」,您是說我應該改變標題中的內容或忽略驗證器的警告? – user3138025 2014-12-05 17:16:35

+0

確實。我在答案中提供了信息,因爲它成了一個真正的完整答案。 :) – GolezTrol 2014-12-05 17:21:45

回答

-3

幾點建議:

U可以通過使用類等做了很多控制 - 中,美先打電話以及一個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"> 
+0

謝謝。如何爲html電子郵件添加樣式表? – user3138025 2014-12-05 17:18:44

+4

當涉及到電子郵件模板時,這是一個非常糟糕的主意。每個電子郵件客戶端以不同的方式工作。堅持基礎。即使是可怕的「桌子」也是避免問題的好辦法。 – melancia 2014-12-05 17:21:05

+0

即使加載,外部文件也會導致問題。 – melancia 2014-12-05 17:22:10

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樣式。

+0

謝謝。我向標題添加了建議的文本,並刪除了驗證錯誤。謝謝。作爲我的測試的一部分,我嘗試使用oracle富文本小部件的每個部分。有人使用和下劃線的可能性很小。感謝您的幫助 – user3138025 2014-12-05 17:26:46

+1

這是肯定的答案。 – melancia 2014-12-05 17:31:37