การมีส่วนหัวของ Content-ID ในอีเมล MIME หมายความว่าต้องแนบไฟล์หรือไม่


11

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

นี่คือตัวอย่าง:

--boundary-example
Content-Location: CID:somethingatelse 
Content-ID: <foo4atfoo1atbar.net>
Content-Type: IMAGE/GIF
Content-Transfer-Encoding: BASE64

R0lGODlhGAGgAPEAAP/////ZRaCgoAAAACH+PUNv
cHlyaWdodCAoQykgMTk5LiBVbmF1dGhvcml6ZWQgZHV
wbGljYXRpb24gcHJvaGliaXRlZC4A etc..

หนึ่งผลิตภัณฑ์อีเมลตีความว่านี่เป็นภาพฝังตัว การตีความอื่น ๆ นี้เป็นสิ่งที่แนบสามัญ (ไม่ฝัง) หากเราลบบรรทัดContent-IDออกอย่างสมบูรณ์ผลิตภัณฑ์ทั้งสองคิดว่าสิ่งที่แนบมานั้นไม่ได้ถูกฝังไว้

มี RFC เฉพาะที่สรุปว่าพฤติกรรมใดถูกต้องหรือไม่? เพื่อนร่วมงานและฉันตรวจสอบ RFC2392 ซึ่งในนามธรรมเปิดพูดว่า:

การใช้ [MIME] ภายในอีเมลเพื่อสื่อเว็บเพจและ
รูปภาพที่เกี่ยวข้องต้องใช้รูปแบบ URL เพื่ออนุญาตให้ HTML อ้าง
ถึงรูปภาพหรือข้อมูลอื่น ๆ ที่รวมอยู่ในข้อความ
Resource -ID Uniform Resource Locator "cid:" ทำหน้าที่จุดประสงค์นั้น […] รูปแบบ "cid" หมายถึงส่วนเนื้อหาเฉพาะของข้อความ การใช้งานโดยทั่วไปจะ จำกัด อยู่ที่การอ้างอิงไปยังส่วนต่างๆของร่างกายในข้อความเดียวกันกับส่วนอ้างอิง รูปแบบ "mid" อาจอ้างถึงส่วนของเนื้อหาเฉพาะภายในข้อความที่กำหนดโดยรวมถึงที่อยู่ content-ID

ดังนั้นในขณะที่ไม่แน่นอนเรามีแนวโน้มที่จะเชื่อว่าเนื่องจากรายการฝังตัวทั้งหมดต้องมี cid เพื่ออ้างอิงพวกเขาและมันเป็น“ โดยทั่วไป จำกัด เฉพาะส่วนของร่างกายอื่น ๆ ในข้อความเดียวกัน” และสิ่งที่แนบมาไม่จำเป็นต้องมีรหัส มันเป็นพฤติกรรมที่สมเหตุสมผลสำหรับผลิตภัณฑ์อีเมลในการรักษาสถานะของ cid ซึ่งเป็นตัวบ่งชี้“ เจตนาที่จะฝัง”

ฉันจะได้รับการยืนยันเกี่ยวกับเรื่องนี้หรือไม่?


ถามผู้เขียน RFC หรือ IETF WG ที่เกี่ยวข้องใช่ไหม
sendmoreinfo

คำตอบ:


8

Content-IDไม่ได้ระบุว่าภาพควรจะแสดงแบบอินไลน์ ส่วนหัวนี้จำเป็นสำหรับการอ้างอิงข้อมูลที่ฝังอยู่ภายใน HTML

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

ลูกค้าบางรายแสดงข้อมูลแบบอินไลน์โดยไม่คำนึงว่ารูปแบบคือ HTML หรือข้อความธรรมดา แต่นี่ไม่ใช่พฤติกรรมที่กำหนดไว้


8

ฉันคิดว่าคุณกำลังมองหาContent-Dispositionข้อมูลส่วนหัวซึ่งจะช่วยให้คุณสามารถกำหนดรูปแบบการนำเสนอของส่วนหนึ่งของร่างกาย (เช่นภาพ) ให้เป็นหรือinlineattachment

นี่คือตัวอย่างแบบอินไลน์ที่สร้างโดยธันเดอร์เบิร์ด:

--------------040202010204080305090405
Content-Type: image/png; name="test.png"
Content-Transfer-Encoding: base64
Content-ID: <part1.02080004.04000407@sample.com>
Content-Disposition: inline; filename="test.png"

คุณสามารถอ่านเพิ่มเติมได้ที่:


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