วิธีถอดรหัสอีเมลในรูปแบบ MIME

click fraud protection

อีเมลส่วนใหญ่ที่ส่งในวันนี้มีรูปแบบ MIME (ส่วนขยายจดหมายทางอินเทอร์เน็ตหลายจุด) วิธีนี้ทำให้สามารถส่งอีเมลด้วยข้อความธรรมดาและเวอร์ชัน Rich Text/HTML รูปภาพในบรรทัด และไฟล์แนบได้ คุณสามารถเพิ่มนามสกุล MIME ลงในข้อความในรูปแบบ RFC/822 มาตรฐานได้ เพื่อให้สามารถใช้งานร่วมกับระบบเมลรุ่นเก่าได้

ขั้นตอนที่ 1

โหลดเนื้อหาของข้อความอีเมล

วิดีโอประจำวันนี้

ขั้นตอนที่ 2

ตรวจสอบส่วนหัว "ประเภทเนื้อหา" หากประเภทเนื้อหาเป็นแบบหลายส่วน (เช่น "หลายส่วน/ผสม" "หลายส่วน/ทางเลือก" เป็นต้น) ข้อความจะมีหลายส่วนให้แยกวิเคราะห์ หากประเภทเนื้อหาเป็นแบบหลายส่วน ให้ทำตามขั้นตอนด้านล่าง

ขั้นตอนที่ 3

ส่วนหัว Content-Type ควรมีสตริงเฉพาะที่ใช้โดยโค้ดที่สร้างข้อความ MIME เพื่อกำหนดขอบเขตของ MIME ตัวอย่าง:

เนื้อหา-ประเภท: หลายส่วน/ผสม; ขอบเขต="part_c7161025_fe8a_45f4_83ef_6befcfa5d021"

สตริงขอบเขตในกรณีนี้คือ "part_c7161025_fe8a_45f4_83ef_6befcfa5d021"

ขั้นตอนที่ 4

แต่ละส่วน MIME จะถูกคั่นด้วยสตริงขอบเขตที่นำหน้าด้วยขีดกลางสองอัน ("--") ในบรรทัดว่าง คุณจะต้องสแกนข้อความทีละบรรทัดเพื่อค้นหาขอบเขตของชิ้นส่วน ข้อความทั้งหมดที่อยู่ระหว่างขอบเขต ยกเว้น CR/LF. สุดท้าย เป็นส่วนหนึ่งของส่วน MIME นั้น

สำคัญ: ส่วน MIME สุดท้ายจะลงท้ายด้วยสตริงขอบเขตตามด้วยขีดกลางอีกสองตัว

ตัวอย่าง:

--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 ส่วน MIME แรก

--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 ส่วน MIME ที่สอง

--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 ส่วน MIME ล่าสุด

--part_c7161025_fe8a_45f4_83ef_6befcfa5d021--

ขั้นตอนที่ 5

จะต้องแยกวิเคราะห์แต่ละส่วน MIME รูปแบบของ MIME แต่ละส่วนจะคล้ายกับข้อความที่จัดรูปแบบ RFC/822 ดั้งเดิม โดยจะมีชุดของส่วนหัว ตามด้วยบรรทัดว่าง ตามด้วยข้อมูลเนื้อหา

ขั้นตอนที่ 6

ส่วน MIME สามารถเป็นแบบหลายส่วนได้ด้วยส่วนหัว "ประเภทเนื้อหา" และสตริงขอบเขต รหัสของคุณต้องแยกวิเคราะห์ส่วน MIME ซ้ำๆ จนกว่าจะถึงโหนดย่อย

ขั้นตอนที่ 7

ส่วน MIME อาจเป็นไฟล์แนบแบบไบนารี ในกรณีนี้ โดยปกติแล้ว ส่วนหัวของชื่อไฟล์จะมีให้พร้อมกับการเข้ารหัสการโอน BASE64 เป็นประเภทการเข้ารหัสยอดนิยม ในกรณีนี้ เนื้อหาส่วน MIME ทั้งหมดจะต้องถอดรหัส BASE64 ตัวอย่างต่อไปนี้คือสองสามบรรทัดแรกของภาพ JPG ที่แนบมา:

=NextPart_003_01C755EF.43F2628D ประเภทเนื้อหา: image/jpeg; name="testimage.jpg" Content-Transfer-Encoding: base64 คำอธิบายเนื้อหา: testimage.jpg การจัดการเนื้อหา: ไฟล์แนบ; ชื่อไฟล์="testimage.jpg"

/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjMjIyMjIyMjIm AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA

ขั้นตอนที่ 8

เนื้อหา HTML ของข้อความควรอยู่ในส่วน MIME โดยมี ContentType: Text/Html ภายในส่วน ContentType: Multipart/Alternative MIME

ขั้นตอนที่ 9

เนื้อหาข้อความธรรมดาของข้อความควรอยู่ในส่วน MIME โดยมี ContentType: Text/plain อยู่ในส่วน ContentType: Multipart/Alternative MIME

สิ่งที่คุณต้องการ

  • ความรู้ภาษาคอมพิวเตอร์ (เช่น C++, C#, VB ฯลฯ)

  • ความรู้พื้นฐานเกี่ยวกับรูปแบบของข้อความอีเมลที่จัดรูปแบบ RFC/822

เคล็ดลับ

ปรึกษา RFC 822 http://www.ietf.org/rfc/rfc0822.txt? number=822 และ RFC 1341 http://www.ietf.org/rfc/rfc1341.txt? number=1341 สำหรับข้อมูลเพิ่มเติม. หากคุณกำลังเขียนโค้ดใน C # ห้องสมุดฟรีที่ยอดเยี่ยมมีให้ที่ http://www.codeproject.com/csharp/mime_project.asp.

หมวดหมู่

ล่าสุด

วิธีการดึงอีเมลที่ถูกลบ

วิธีการดึงอีเมลที่ถูกลบ

เครดิตรูปภาพ: รูปภาพ Stuart Jenner / iStock / G...

วิธีการลบโฟลเดอร์ใน Yahoo! จดหมาย

วิธีการลบโฟลเดอร์ใน Yahoo! จดหมาย

ลบโฟลเดอร์ Yahoo Mail ได้อย่างง่ายดายเมื่อทำงา...

วิธีสร้าง LISTSERV ใน Outlook

วิธีสร้าง LISTSERV ใน Outlook

ส่งอีเมลฉบับเดียวถึงหลายคนใน Microsoft Outlook...