ใน .net เรามักจะใช้ MailMessage และ SmtpMail เพื่อส่งจดหมาย ตราบใดที่เซิร์ฟเวอร์ smtp ได้รับการกำหนดค่าอย่างดี โดยทั่วไปก็จะไม่มีปัญหาใหญ่ๆ
แต่เมื่อไม่นานมานี้ ตอนที่ฉันช่วย www.danceshopper.com อัปเกรดเป็นหลายภาษา ฉันพบว่าตราบใดที่มันเป็นอีเมลภาษาจีนแบบดั้งเดิม หัวเรื่องก็อ่านไม่ออกและเนื้อหาก็อ่านไม่ออกเมื่อมาถึง Hotmail จากไคลเอนต์ที่ใช้ Foxmail หรือ Outlook ปัญหาไม่ได้อยู่ที่นั่น และปัญหาที่คล้ายกันก็จะปรากฏใน gmail [แก้ไขแล้ว] 163 และที่อื่น ๆ ซึ่งทำให้ฉันลำบากใจเป็นเวลาหลายวัน หลังจากการสรุปและการทดสอบซ้ำแล้วซ้ำอีก ฉันก็ได้รับ วิธีแก้ปัญหาในการส่งอีเมลที่ไม่อ่านไม่ออกอย่างถูกต้อง
จริงๆ แล้ว มันง่ายมาก นั่นคือการเข้ารหัสอีเมลของคุณจะต้องถูกต้อง มีสองสิ่งที่ต้องสังเกตในการเข้ารหัสที่นี่
1 ชุดอักขระในอีเมล ตัวอย่างเช่น อีเมล html ต้องมี <META http-equiv="Content-Type" content="text/html; charset=gb2312">
2 BodyEncoding โปรดรับระบบภาษาที่คุณส่งจดหมายไม่สามารถใช้งานได้
เหตุใดจึงเน้นย้ำว่าไม่สามารถใช้ utf8 ได้ การวิเคราะห์ของฉันคือ hotmail ซึ่งเป็นเมลเซิร์ฟเวอร์เก่าอาจได้รับการพัฒนามาเป็นเวลานานและไม่สามารถให้การสนับสนุนที่ดีสำหรับวิวัฒนาการของ HTML ในปัจจุบันได้ โดยเฉพาะสิ่งต่าง ๆ เช่น utf8 unicode แต่ hotmail ไม่ใช่ เหมาะสำหรับหลายๆ คน มันเป็นกล่องจดหมายที่ขาดไม่ได้ ฉันใช้มันเพื่อส่งและรับจดหมายรายวัน [โดยพื้นฐานแล้วไม่ได้ใช้ มันช้าเกินไป] ดังนั้นสิ่งต่าง ๆ เช่นชุดตัวอักษรจึงต้องมีเพื่อนที่พูดได้หลายภาษา พูดคุยกับฉันเกี่ยวกับเรื่องนี้เพราะพวกเขาได้สัมผัสกับ utf8 อันทรงพลัง ปัญหานี้ก็ถูกมองข้ามไปเช่นกัน จำเป็นต้องเตือนทุกคนที่นี่ 555 จะต้องคืนสู่
แหล่งดั้งเดิม: คอลเลกชันของความคิดและลม BLOG