Score:0

อีเมลข้อความ/html หลายส่วนจาก Invision Community แยกวิเคราะห์ไม่ถูกต้อง

ธง jp

ก่อนอื่น ใช่ ฉันได้ติดต่อฝ่ายสนับสนุนชุมชน Invision แล้ว ใช่ ฉันเป็นผู้ใช้แบบชำระเงินที่มีใบอนุญาตที่ใช้งานอยู่ เราไปๆ มาๆ เป็นเวลาหลายชั่วโมง พวกเขาก็บอกว่าไม่มีอะไรผิดปกติกับซอฟต์แวร์ของพวกเขา และฉันต้องแก้ไขเซิร์ฟเวอร์ของฉัน

ฉันใช้ CentOS 7.9.2009, PHP 8.0.7, Apache 2.4.6 และ Exim 4.94.2

เมื่อ Invision Communtiy ส่งอีเมล ค่า From: จะบอกว่า Apache หรือ Root แทนที่จะเป็นชื่อของฟอรัม และส่วน html ของอีเมลจะแสดงโค้ดแทนที่จะมีส่วนข้อความและส่วน html

ฉันยังมีโค้ด php ที่ฉันเขียนเองโดยใช้ฟังก์ชัน mail() บนเซิร์ฟเวอร์เดียวกันโดยใช้ php รุ่นเดียวกันและทุกอย่างที่ส่งอีเมลหลายส่วนที่สมบูรณ์แบบ

เมื่อเปรียบเทียบแหล่งที่มาของอีเมลที่ส่งโดย Invision กับอีเมลที่ส่งโดยรหัสของฉัน ฉันสังเกตเห็นว่าส่วนหัว From: และส่วนหัวของประเภทเนื้อหา: ในอีเมล Invision นั้นมีการเว้นวรรคหนึ่งช่อง และส่วนหัวเดียวกันในอีเมลที่ส่งโดย รหัสของฉันไม่มีช่องว่างข้างหน้า ดูเหมือนว่าส่วนหัวเหล่านั้นจะถูกละเว้นโดยไคลเอนต์อีเมล นี่คือลักษณะของแหล่งที่มา:

MIME-เวอร์ชัน: 1.0
 จาก: =?UTF-8?B?SGVsaW9OZXQ=?= <[email protected]>
 วันที่: อ. 29 มิ.ย. 2564 19:04:36 น. +0000
 ส่งอัตโนมัติ: สร้างอัตโนมัติ
 ประเภทเนื้อหา: หลายส่วน/ทางเลือก; ขอบเขต="--==_mimepart_3d7970817fa277e018f1936f5865d582"; ชุดอักขระ = UTF-8
 การเข้ารหัสการถ่ายโอนเนื้อหา: 8 บิต
รหัสข้อความ: <[email protected]>

สังเกตช่องว่างหน้า From, Date, Auto-Subscribed และ Content-Type

นี่คือลักษณะของส่วนหัวเหล่านี้ในอีเมลที่แสดงอย่างถูกต้องจากเซิร์ฟเวอร์เดียวกัน:

MIME-เวอร์ชัน: 1.0
จาก: "ตัวอย่าง" <[email protected]>
รายการยกเลิกการสมัคร: <mailto:[email protected]>, <https://www.example.com/unsubscribe/?c=3d9795e2646d156972cdf58655c758bd
ประเภทเนื้อหา: multipart/alternative;boundary=helio60db72e0c0005
รหัสข้อความ: <[email protected]>
วันที่: อ. 29 มิ.ย. 2564 19:22:08 น. +0000
X-AntiAbuse: ส่วนหัวนี้ถูกเพิ่มเพื่อติดตามการละเมิด โปรดรวมไว้ในรายงานการละเมิดใดๆ

ก่อนอื่น พื้นที่เหล่านี้จะทำให้เกิดปัญหาที่ฉันเห็นหรือไม่

ประการที่สอง หากช่องว่างเป็นปัญหา ฉันจะแก้ไขได้อย่างไร

การขุดรหัสของ Invision ดูเหมือนว่าพวกเขาใช้แพ็คเกจ PHP Pear Mail https://pear.php.net/package/Mail เห็นได้ชัดว่า การแก้ไขโค้ดของ Invision หรือโค้ดของ Pear อาจเป็นความคิดที่ไม่ดี เพราะการเปลี่ยนแปลงใดๆ อาจถูกเขียนทับในครั้งต่อไปที่ฉันอัปเดต มีการตั้งค่าเซิร์ฟเวอร์ใดบ้างที่ฉันสามารถเปลี่ยนเพื่อแก้ไขปัญหานี้ แจ้งให้เราทราบหากคุณต้องการข้อมูลเพิ่มเติม แล้วเราจะแก้ไขให้ ขอบคุณ!

Michael Hampton avatar
cz flag
พื้นที่เดียวที่จุดเริ่มต้นเรียกว่าพื้นที่สีขาวพับ และเนื้อหาของบรรทัดดังกล่าวถือเป็นความต่อเนื่องของบรรทัดก่อนหน้า ดังนั้นข้อความนั้นจึงมีเฉพาะส่วนหัว MIME-Version (ที่มีค่าค่อนข้างแปลกประหลาดและอาจไม่ถูกต้อง) และ Message-Id Invision Community ไม่ทำเช่นนี้อย่างแน่นอน ดังนั้นปัญหาน่าจะอยู่ที่อื่น เหตุใดระบบนี้จึงใช้ Exim นั่นเป็นทางเลือกที่แปลกมากและไม่ค่อยเห็นนอกช่องบางช่อง เช่น เว็บโฮสติ้งขนาดใหญ่
Krydos avatar
jp flag
เซิร์ฟเวอร์เป็นเซิร์ฟเวอร์ cPanel และติดตั้ง cPanel Exim
Michael Hampton avatar
cz flag
อ่า จากนั้นจุดหยุดถัดไปของคุณควรรองรับ cPanel เราไม่ยอมรับคำถามเกี่ยวกับระบบ cPanel ที่นี่
Krydos avatar
jp flag
โอ้ขอโทษ. ฉันไม่ได้ตระหนักว่า ขอบคุณ!
Paul avatar
cn flag
@Krydos คุณควรปิดคำถามของคุณ เนื่องจากถือว่าไม่เกี่ยวกับหัวข้อนี้ที่ Server Fault เนื่องจากการติดตั้งแผงควบคุมเว็บโฮสติ้ง แต่โปรดกลับมาและถามคำถามในหัวข้ออื่น
Krydos avatar
jp flag
ฉันแก้ไขด้วยตัวเองโดยแก้ไขโค้ดของ Invision ซึ่งไม่มีส่วนเกี่ยวข้องใดๆ กับ cPanel เห็นได้ชัดว่าฉันยังใหม่ที่นี่ แต่จะดีกว่าไหมหากได้รับคำตอบที่ยอมรับแทนที่จะลบออกทั้งหมด
Score:1
ธง jp

ฉันสามารถแก้ไขปัญหานี้ได้โดยแก้ไขโค้ดของ Invision และเปลี่ยน PHP_EOL หนึ่งครั้งเป็น "\r\n" หวังว่าพวกเขาจะรวมถึงการเปลี่ยนแปลงของฉันในซอฟต์แวร์รุ่นต่อ ๆ ไป

โพสต์คำตอบ

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