เราจะสร้างข้อความแบบหลายส่วนเช่นใน Linux ได้อย่างไรเมื่อได้รับหัวเรื่องอีเมลและ HTML และข้อความในรูปแบบข้อความ
สร้างข้อความประเภทmultipart/alternative
ที่บันทึกไว้ในRFC 2046 :
จาก: ตัวอย่าง บริษัท <news@example.com>
ถึง: Joe User <joe.u@example.net>
วันที่: วันเสาร์ที่ 21 พฤษภาคม 2011 เวลา 17:40:11 +0300
Subject: ตัวอย่างข้อความ Multipart
MIME-Version: 1.0
เนื้อหาประเภท: หลายส่วน / ทางเลือก; ขอบเขต = asdfghjkl
--asdfghjkl
ประเภทเนื้อหา: ข้อความ / ธรรมดา; charset = UTF-8
สวัสดีทุกคน!
--asdfghjkl
ประเภทเนื้อหา: ข้อความ / html; charset = UTF-8
<! DOCTYPE html>
<body>
<p> สวัสดีทุกคน! </p>
</ body>
--asdfghjkl--
ดูRFC 2046และRFC 5322สำหรับไวยากรณ์ที่ถูกต้อง
เราสามารถใช้ mutt เพื่อส่งอีเมลหลายส่วนที่สร้างขึ้นในขั้นตอนที่ 1 จากพรอมต์ linux หรือไม่
หากคุณพบวิธีตั้งค่าส่วนหัวประเภทเนื้อหาที่เหมาะสม (ในตัวอย่างของคุณคุณกำลังใช้-e
แต่ mutt ใช้-e
เพื่อวัตถุประสงค์ที่แตกต่างกันแม้จะ-e "my_hdr Content-Type: ..."
ทำให้ข้อความ / ส่วนหัวธรรมดายังคงอยู่)
sendmail
มันจะดีกว่าที่จะส่งจดหมายสร้างโดยตรงผ่าน คุณจะต้องสร้างส่วนหัวด้วยตัวเอง - ดูตัวอย่าง ใช้strftime("%a, %d %b %Y %T %z")
สำหรับวันที่และสตริงของตัวอักษรและตัวเลขแบบสุ่มสำหรับขอบเขต จากนั้นส่งข้อความที่เตรียมไว้รวมถึงส่วนหัวไปที่sendmail -i -t
:
sendmail -i -t < above-example.txt
( -t
ตัวเลือกหมายถึง "รับผู้รับจากถึง:บรรทัด" หรือคุณสามารถใช้sendmail -i joe.u@example.net
)