อีเมลไม่ใช่หน้าเว็บ: เลิกฝากชีวิตรูปภาพสำคัญไว้กับเซิร์ฟเวอร์ภายนอก

อ่าน 3 นาที 1 ผู้อ่าน

อีเมลไม่ใช่หน้าเว็บ: เลิกฝากชีวิตรูปภาพสำคัญไว้กับเซิร์ฟเวอร์ภายนอก

อีเมลต่างจากหน้าเว็บที่คุณคิด

เวลาเราส่งอีเมลที่มีรูปภาพประกอบ เรามักจะใส่ลิงก์รูปจากเซิร์ฟเวอร์ภายนอกเหมือนทำหน้าเว็บไซต์ แต่นี่เป็นความเชื่อที่อันตราย เพราะอีเมลไม่ใช่หน้าเว็บที่รันบน Browser (โปรแกรมเปิดเว็บไซต์) ที่เราคุมได้ทุกอย่าง

เมื่ออีเมลถูกส่งออกไป มันจะไปอยู่ในมือของโปรแกรมรับอีเมลปลายทาง ซึ่งอาจจะบล็อกไม่ให้โหลดรูปภาพ หรือเปลี่ยนสีเพื่อรองรับ Dark Mode (โหมดหน้าจอมืด) ทำให้รูปที่สำคัญหายไปหรือดูไม่ได้เลย

แยกประเภทข้อมูลก่อนเลือกวิธีแสดงผล

ก่อนจะใส่รูปภาพลงในอีเมล ให้ลองถามตัวเองก่อนว่าข้อมูลนั้นสำคัญแค่ไหน

  • ข้อมูลสำคัญมาก: ถ้าขาดไปแล้วคนอ่านไม่เข้าใจเนื้อหา ต้องฝังไฟล์รูปภาพเข้าไปในอีเมลโดยตรง (Inline Attachment) และต้องมีข้อความกำกับเสมอ
  • ข้อมูลประดับตกแต่ง: ถ้าไม่มีรูปนี้คนอ่านก็ยังเข้าใจเนื้อหาได้ แบบนี้ใช้การดึงรูปจากลิงก์ภายนอกได้ไม่มีปัญหา
  • ข้อมูลหัวใจหลัก: ข้อมูลอย่างตัวเลข วันครบกำหนด หรือคำเตือน ห้ามใส่ไว้ในรูปภาพเด็ดขาด ให้พิมพ์เป็นข้อความจริงๆ เท่านั้น

เทคนิคฝังรูปภาพให้แสดงผลชัวร์

วิธีที่ดีที่สุดคือการฝังไฟล์รูปภาพลงไปกับตัวอีเมลเลย แทนที่จะให้โปรแกรมไปดาวน์โหลดรูปจากเซิร์ฟเวอร์ข้างนอก คุณสามารถใช้ Content Identifier (ตัวระบุเนื้อหาภายในเมล) เพื่ออ้างอิงรูปที่ฝังอยู่ได้ทันที

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

แยกขั้นตอนการเตรียมไฟล์ออกจากขั้นตอนการส่ง

ใน ASP.NET Core (เฟรมเวิร์กสำหรับสร้างแอปของ Microsoft) คุณควรแยกโค้ดส่วนเตรียมรูปภาพออกมาต่างหาก อย่าให้ตัวส่งอีเมลต้องมานั่งโหลดไฟล์เอง

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

สรุปสั้นๆ

ข่าวนี้เตือนว่าอย่าทำอีเมลเหมือนหน้าเว็บเพราะความไม่แน่นอนของโปรแกรมรับอีเมลสูงมาก สำหรับนักเขียนโปรแกรม ทางแก้คือให้ฝังรูปที่สำคัญลงในอีเมลโดยตรง ส่วนข้อมูลที่เป็นหัวใจหลักต้องใช้ข้อความธรรมดาเสมอ และเตรียมแผนสำรองไว้เสมอหากโหลดรูปไม่ได้ เพื่อให้ผู้รับยังได้รับข้อมูลที่ครบถ้วน

แชร์ข่าวนี้

เรียบเรียงจากข่าวของ DEV Community อ่านข่าวต้นฉบับ ↗

← กลับไปหน้าข่าวสาร