แนวทางในการออกแบบอีเมล HTML มีอะไรบ้าง? [ปิด]


101

คุณสามารถให้แนวทางใดสำหรับการจัดรูปแบบ HTML ที่สมบูรณ์ในอีเมลในขณะที่ยังคงรักษาเสถียรภาพของภาพที่ดีในไคลเอนต์จำนวนมากและอินเทอร์เฟซอีเมลบนเว็บ

คำตอบที่ไม่เกี่ยวข้องกับคำถามใน Stack Overflow แนะนำ:

http://www.campaignmonitor.com/blog/archives/2008/05/2008_email_design_guidelines.html

ซึ่งประกอบด้วยแนวทางต่อไปนี้:

  1. วางสไตล์ชีต<body>แทน<head>
    ไคลเอนต์อีเมลบางโปรแกรมจะตัด CSS ออกจากส่วนหัว แต่ปล่อยไว้หากบล็อกสไตล์อยู่ในเนื้อความ (ไม่ถูกต้อง)
  2. ใช้สไตล์อินไลน์ในกรณีที่เป็นไปได้
    Gmail จะตัดสไตล์ชีทใด ๆ ไม่ว่าจะอยู่ใน<head>หรือใน<body>สไตล์ แต่ให้เกียรติสไตล์อินไลน์ที่กำหนดโดยใช้style=""แอตทริบิวต์
  3. กลับไปที่ตาราง
    มาตรฐานอีเมลได้ก้าวถอยหลังไปแล้วในช่วงไม่กี่ปีที่ผ่านมาด้วย Outlook 2007 ที่ใช้โปรแกรมการแสดงผล Microsoft Word เรียนรู้สิ่งที่เรียนรู้ส่วนใหญ่เกี่ยวกับการวางตำแหน่งโดยไม่มีสไตล์ชีต
  4. อย่าพึ่งพารูปภาพ
    ไคลเอนต์ส่วนใหญ่และไคลเอนต์อีเมลบนเว็บส่วนใหญ่จะไม่แสดงภาพเว้นแต่ผู้ใช้จะร้องขอให้แสดงโดยเฉพาะ

ฉันยังมีความจริงที่ "ไม่ยืนยัน" บางส่วนซึ่งจำไม่ได้ว่าอ่านที่ไหน

  1. อย่าใช้มากกว่าสองระดับของการซ้อนในตาราง
    เป็นจริงหรือไม่ จะเกิดอะไรขึ้นถ้าฉันทำ? มีลูกค้า / ลูกค้ารายใดที่สำลักสิ่งนี้หรือไม่?
  2. โปรดระวังการซ้อนภาพพื้นหลังในเซลล์ / ตาราง
    ตามที่ฉันเข้าใจคุณอาจประสบกับสถานการณ์ที่นำภาพพื้นหลังไปใช้ในตาราง / เซลล์จากมากไปหาน้อยโดยสมบูรณ์และไม่ใช่แค่ "ส่องผ่าน" อีกครั้งจริงหรือไม่? ลูกค้ารายใด

ฉันต้องการสรุปรายชื่อนี้ด้วยแนวทางและประสบการณ์เพิ่มเติมจากสนามเพลาะ

คุณสามารถเสนอคำแนะนำเพิ่มเติมได้หรือไม่?

อัปเดต:ฉันขอแนวทางโดยเฉพาะสำหรับส่วนการออกแบบใน HTML และความสอดคล้องที่นั่น คำถามเกี่ยวกับหลักเกณฑ์ทั่วไปในการหลีกเลี่ยงตัวกรองสแปมและความเอื้อเฟื้อทั่วไปมีอยู่แล้วใน SO


นี่คือรายการใหญ่ของทรัพยากรในคำถามที่คล้ายกันมาก
จอห์น

คำตอบ:


63

จริงๆแล้วมันยากมากที่จะสร้างอีเมล HTML ที่เหมาะสมหากคุณเข้าใกล้จากมุมมองของ 'HTML สมัยใหม่และ CSS'

เพื่อให้ได้ผลลัพธ์ที่ดีที่สุดลองจินตนาการถึงปี 1999

  • กลับไปที่ตารางสำหรับเลย์เอาต์ (หรือดีกว่า - อย่าพยายามเลย์เอาท์ที่ซับซ้อน)
  • กลัวภาพพื้นหลัง (ภาพแตกใน Outlook 2007 และ Gmail)
  • สิ่งที่ style-tag-in-the-body เป็นเพราะ Hotmail เคยยอมรับแบบนั้น - ฉันค่อนข้างมั่นใจว่าพวกเขาถอดมันออกตอนนี้ ใช้สไตล์อินไลน์กับstyleแอตทริบิวต์หากคุณต้องใช้ CSS
  • ลืมเรื่องทั้งหมด float
  • จำภาพของคุณอาจถูกบล็อก - ใช้พื้นหลังและสีข้อความเพื่อประโยชน์ของคุณ - ตรวจสอบว่ามีข้อความที่อ่านได้บางส่วนที่ปิดใช้งานรูปภาพ
  • จงระวังให้มากกับการเชื่อมโยงโดยเฉพาะอย่างยิ่งระวังอะไรที่มีลักษณะเช่น URL ในข้อความลิงค์ - คุณจะโกรธ 'ฟิชชิ่ง' ฟิลเตอร์ (เช่น<a href="http://domain.tld">www.someotherdomain.tld</a>เป็นที่ไม่ดี )
  • โปรดจำไว้ว่า "พับ" บนไคลเอนต์เว็บเมลมีแนวโน้มที่จะสูงมากในหน้า (บนหน้าจอ 1024x768 อินเทอร์เฟซส่วนใหญ่จะแสดงไม่เกินร้อยพิกเซลหรือมากกว่านั้น) - ให้ข้อมูลประจำตัวของคุณอยู่ด้านบนเพื่อให้ผู้รับ รู้ว่าคุณเป็นใคร
  • Outlook เวอร์ชันล่าสุดมีบานหน้าต่างแสดงตัวอย่าง "แนวตั้ง" ซึ่งแคบกว่าที่คุณคาดไว้อย่างมากโปรดระวังเลย์เอาต์ที่มีความกว้างคงที่หากคุณต้องใช้ให้กำหนดให้แคบที่สุดเท่าที่จะทำได้
  • อย่าแม้แต่จะคิดถึงแฟลช Javascript SVG ผ้าใบหรืออะไรทำนองนั้น
  • ทดสอบเยอะมาก ตรวจสอบให้แน่ใจว่าคุณได้ทดสอบใน Outlook ล่าสุด (สิ่งต่างๆเปลี่ยนแปลงไปมากตอนนี้ใช้ Word เป็นเครื่องมือแสดงผล HTML และมันพิการ: รองรับWord 2007 HTML / CSS ) Gmail ก็ค่อนข้างจู้จี้จุกจิกเช่นกัน น่าแปลกใจที่เว็บเมลของ Yahoo นั้นดีมากด้วยการรองรับ CSS ที่ดี

โชคดี ;)

อัปเดตเพื่อตอบคำถามเพิ่มเติม:

อย่าใช้การซ้อนในตารางมากกว่าสองระดับ

ฉันเชื่อว่านี่เป็นแนวทางที่เก่ากว่าเกี่ยวกับ Lotus Notes ตารางที่ซ้อนกันควรจะโอเค แต่จริงๆแล้วถ้าคุณมีเลย์เอาต์ที่ซับซ้อนพอที่จะต้องการคุณอาจจะประสบปัญหาอยู่ดี เก็บรูปแบบของคุณง่าย

ระวังภาพพื้นหลังที่ซ้อนกันในเซลล์ / ตาราง

สิ่งนี้อาจเกี่ยวข้องกับข้างต้นและเช่นเดียวกันถ้าคุณมีความซับซ้อนคุณจะมีปัญหา Outlook เวอร์ชันล่าสุดไม่รองรับภาพพื้นหลังเลยดังนั้นคุณควรลืมภาพเหล่านี้ทั้งหมด


3
เหตุใดการสนับสนุนอีเมล HTML จึงไม่ทำให้เกิดความเปลี่ยนแปลงมากนัก เหตุใดเราจึงควรดำเนินการปฏิบัติที่ไม่ดีทั้งหมดนี้ต่อไปเหมือนย้อนกลับไปในปี 2542
smonff

มีวิธีแก้ปัญหาสำหรับการสนับสนุน bgimages stackoverflow.com/a/17358553/413032 การสลับ ms-word html. @ smonff ฉันเห็นด้วยอย่างยิ่งกับคุณ ........ ทำไม html ที่แสดงโดย MS-Word!
Davut Gürbüz

1
ตรวจสอบการเข้ารหัสอีเมล 101จากกระดาษลิตมัสหวังว่าจะช่วยได้
shaijut




2

ฉันคิดว่านี่เป็นระดับที่ต่ำกว่าคำถามที่คุณถาม แต่ถ้าคุณต้องการให้ลูกค้าดูอีเมล html อย่างถูกต้องมากที่สุดตรวจสอบให้แน่ใจว่าใช้ MIME ที่ถูกต้อง โดยเฉพาะอย่างยิ่งสำหรับอีเมลที่ถือว่าเป็น MIME ที่ถูกต้องส่วนหัวต้อง (ตามความหมายของคำว่า RFC) ประกอบด้วยส่วนหัวทั้งสองนี้:

MIME-Version:
Content-Type:

ไคลเอนต์ที่เข้มงวดมากจะแสดง HTML ของคุณเป็นข้อความดิบหากขาดหายไปอย่างใดอย่างหนึ่ง คุณจะแปลกใจว่ามีผู้ขายออนไลน์รายใหญ่กี่รายที่ควรรู้ดีกว่าได้ทำสิ่งนี้ (โดยเฉพาะฉันได้รับอีเมล HTML ที่ไม่มี MIME-Version: ส่วนหัวจาก Amazon และ ACM ในอดีต)


1
  • ภาพพื้นหลังไม่น่าเชื่อถือ
  • จวนไม่มีเกมง่ายๆ แต่ไม่มีจาวาสคริปต์
  • ใช้ตัวแก้ไขที่ช่วยให้คุณส่งไฟล์ / บัฟเฟอร์ปัจจุบันเป็นอีเมลหรืออย่างน้อยที่สุดค้นหาโปรแกรมที่จะช่วยให้คุณส่งเนื้อหาของไฟล์เป็นอีเมล HTML อย่าทดสอบอีเมลของคุณโดยการคัดลอก HTML และวางลงใน Outlook (หรือโปรแกรมอีเมลอื่น ๆ สำหรับเรื่องนั้น)

1

คำแนะนำสามคำ: ทดสอบทดสอบทดสอบ

ตรวจสอบบริการทดสอบอีเมลของ LitmusApp.com คุณส่งข้อความถึงพวกเขาและพวกเขาแสดงผลในลูกค้าจำนวนมากและแสดงภาพหน้าจอของผลลัพธ์ มันไม่สมบูรณ์แบบ แต่ก็ค่อนข้างดี

(Lotus Notes ก่อนหน้า 8.0 มีปัญหากับเมล HTML จริงๆ)

นอกจากนี้นอกเหนือจากสไตล์ CSS แบบอินไลน์แล้วฉันขอแนะนำให้เปลี่ยนไปใช้แท็กทุกที่ที่เป็นไปได้


1

ฝังภาพของคุณอย่าลิงก์ไป

นี้ไม่ดี :

<img src="http://myserver.com/myImage.jpg" alt="Lolkat"/>

ดีจัง :

<img src=cid:myImage/>

ใช่มันดูแปลก แต่ตรวจสอบนี้ออกคู่มือเกี่ยวกับการฝังภาพในอีเมล


0

หากคุณรวมบล็อกสไตล์อย่าขึ้นบรรทัดใหม่ด้วย ".classname" หรือ "." อะไรก็ได้ ใส่ไม้ค้ำยันหรืออะไรก่อนประจำเดือน หากคุณไม่ทำเช่นนี้ระบบเมลเว็บบางระบบจะแสดงสไตล์ชีตของคุณไม่ถูกต้อง

หลายคนสันนิษฐานอย่างไม่ถูกต้องว่าไม่สามารถใช้บล็อก CSS ในอีเมลได้เนื่องจากพฤติกรรมนี้ ... IIRC "" เป็นตัวคั่นเนื้อหาสำหรับ SMTP ระบบมักจะหลบหนีไปอยู่ในที่เก็บอีเมลเพื่อป้องกันไม่ให้เข้าใจผิดว่าเนื้อหาของข้อความหนึ่งเป็นข้อความใหม่ วิธีจัดการนี้มีแนวโน้มที่จะทำลายสไตล์ใด ๆ ที่เริ่มต้นในบรรทัดใหม่ด้วยจุด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.