ฉันกำลังส่งอีเมลโดยใช้ dotnet framework นี่คือเทมเพลตที่ฉันใช้สร้างข้อความ:
Date of Hire: %HireDate%
Annual Salary: %AnnualIncome%
Reason for Request: %ReasonForRequest%
Name of Voluntary Employee: %FirstName% %LastName%
Total Coverage Applied For: %EECoverageAmount%
Guaranteed Coverage Portion: %GICoveragePortion%
Amount Subject to Medical Evident: %GIOverage%
เมื่อได้รับข้อความใน Outlook Outlook จะบอกฉันว่า "มีการลบบรรทัดพิเศษในข้อความนี้ออก" และข้อความจะแสดงดังนี้:
Date of Hire: 9/28/2001
Annual Salary: $100,000
Reason for Request: New Hire
Name of Voluntary Employee: Ronald Weasley Total Coverage Applied For: $500,000 Guaranteed Coverage Portion: $300,000.00 Amount Subject to Medical Evident: $200,000
สังเกตว่า Outlook ลบการแบ่งบรรทัดที่จำเป็นหลังจากชื่อ EECoverageAmount และอื่น ๆ อย่างไม่ถูกต้องได้อย่างไร ...
เป็นสิ่งสำคัญสำหรับผู้รับอีเมลที่จะได้รับอีเมลที่มีรูปแบบถูกต้องและฉันต้องถือว่าบางคนใช้ Outlook 2003 ฉันไม่สามารถสันนิษฐานได้ว่าพวกเขาจะรู้เพียงพอที่จะปิดคุณสมบัติการทำความสะอาดอัตโนมัติเพื่อให้ข้อความจัดรูปแบบได้อย่างถูกต้อง
ฉันได้ดูข้อความเหล่านี้ในโปรแกรมรับส่งเมลอื่น ๆ และแสดงอย่างถูกต้อง
ข้อมูลเพิ่มเติม:
- ฉันใช้ UTF-8 BodyEncoding (msg.BodyEncoding = System.Text.Encoding.UTF8)
- msg.Body กำลังอ่านจากไฟล์ข้อความที่เข้ารหัส UTF-8 และแต่ละบรรทัดจะถูกยกเลิกด้วย crlf
คำถาม: ฉันจะเปลี่ยนรูปแบบของข้อความเพื่อหลีกเลี่ยงปัญหานี้ได้อย่างไร?
\r\n
Windows: มันได้ผลสำหรับฉัน