เครื่องหมายอัศเจรีย์ถูกแทรกลงในอีเมลที่มีอักขระประมาณ 1,000 ตัว


9

มีโปรแกรม. NET ที่ใช้เนมสเปซ System.Net.Main เพื่อส่งอีเมลผ่าน SMTP

มันอยู่ในเว็บไซต์ของลูกค้าดังนั้นจากนั้นมันจะไปผ่านเซิร์ฟเวอร์รีเลย์ SMTP (ชุด?) ก่อนที่จะถึงปลายทาง

ในขณะนี้ฉันยังไม่มีข้อมูลเกี่ยวกับโครงสร้างการเล่นซ้ำ smtp / อีเมลนี้ (และการรับข้อมูลนั้นจะยาก)

เครื่องหมายอัศเจรีย์ถูกแทรกลงใน URL แบบยาวบางส่วนตามเส้นข้างในอีเมลประมาณ 100 ตัวอักษรจากจุดเริ่มต้นของบรรทัด

แก้ไข - ที่จริงแล้วพบ 1,000 ตัวอักษร

สิ่งนี้ไม่ได้เกิดขึ้นในระบบทดสอบหรือไซต์อื่น ๆ หลายร้อยแห่ง

ฉันรู้สึกแน่ใจว่านี่เป็นสิ่งที่ต้องทำกับรหัสหลบหนีเพื่อแยกแถวยาว ๆ

ใครมีความคิดเห็นบ้าง


พบว่าไม่ใช่ 100 chars ลงในลิงค์ แต่มี 1,000 chars ในข้อความ สิ่งนี้ให้ข้อมูลเพิ่มเติม แต่ยังคงลึกลับว่าทำไมลูกค้าเพียงรายเดียวจึงรายงาน บางทีเซิร์ฟเวอร์ smtp บางตัวอาจทนได้มากกว่าเซิร์ฟเวอร์อื่น ๆ systemwebmail.com/faq/4.4.5.aspx
Ryan

คำตอบ:


11

ได้ตีด้วยตัวเอง

หากคุณกำลังสร้างข้อความ HTML โดยไม่มีการขึ้นบรรทัดใหม่คุณอาจได้รับข้อผิดพลาดประมาณ 1,000 ตัวอักษร

วิธีแก้ไขคือเพิ่มตัวอักษร \ r \ n สองสามตัวเพื่อให้แต่ละบรรทัดมีขนาดเล็กกว่า 1,000 (หรือ 988 ถ้าคุณไม่นับตัวอักษร \ r \ n)

ดูหัวข้อ 2.1.1 ขีดจำกัดความยาวของสายRFC 2822สำหรับรายละเอียดเพิ่มเติม:

2.1.1 ขีดจำกัดความยาวของบรรทัด

มีข้อ จำกัด สองประการที่มาตรฐานนี้วางไว้กับจำนวนอักขระในบรรทัด แต่ละบรรทัดของอักขระต้องไม่เกิน 998 อักขระและ SHOULD ต้องไม่เกิน 78 อักขระยกเว้น CRLF


ขอขอบคุณ - โปรดดูการสนทนาเกี่ยวกับโพสต์นี้ - systemwebmail.com/faq/4.4.5.aspx
Ryan

RFC-2822-2.1.1 ดูเหมือนจะเป็นแนวทางและคำแนะนำมากกว่ากฎที่บังคับใช้ Outlook ดูเหมือนว่าจะได้รับผลกระทบ ไคลเอนต์อีเมลอื่นบางรายไม่ได้รับผลกระทบจากสิ่งนี้
โยโย่

@ YoYo ฉันจะบอกว่าตัวละครแต่ละบรรทัดจะต้องไม่เกิน 998 ตัวอักษรจะเป็นกฎ แต่และควรจะไม่เกิน 78 ตัวอักษรจะเป็นแนวทางและคำแนะนำมากกว่ากฎ
sgmoore

ใช่ถ้อยคำไม่อนุญาตให้มีความยืดหยุ่น ฉันต้องยอมรับ
โยโย่

0

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


0

ไม่เหมือนแอป. Net ที่ทำให้เกิดปัญหาหากปัญหาไม่ได้เกิดขึ้นในเว็บไซต์อื่น ๆ ที่มีรหัสเดียวกันทำงานอยู่ ไซต์มีปัญหาด้านหลังแอปพลิเคชันไฟร์วอลล์หรืออุปกรณ์ป้องกันสแปมบางประเภทที่อาจตรวจสอบ smtp stream หรือไม่ หากเป็นเช่นนั้นอาจมีกฎเกี่ยวกับการตัดทอน URL ที่มีความยาวซึ่งถูกทริกเกอร์ซึ่งทำให้ URL ในอีเมลสั้นลง

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