Indy: Tidmessage يزيل جميع لهجات ، كيفية تعطيل هذا؟
سؤال
أنا أرسل رسائل بريد إلكتروني باستخدام مكونات Indy TidSMTP
و TidMessage
.
الرسائل التي أتلقاها بدون لهجات.
إذا فعلت على سبيل المثال:
MyTIdMessage.Body.Text := 'Tèst';
عندما أتلقى البريد الإلكتروني الذي أرى "اختبار" بدلاً من "tèst"
هل هناك طريقة لإخبار Tidmessage بعدم تجاهل اللهجات أم أن هذا الخطأ؟
ملاحظة: أنا أستخدم Indy 10.5.8.0
المحلول
تأكد من تعيين التشفير الصحيح ، contentTransferencoding و charset. كونها واحدة من أقدم البروتوكول ، تم تصميم Mail ليتم استخدامه بواسطة أجهزة الكمبيوتر باستخدام 7 بتات فقط ، ويجب تشفير أحرف غير الولايات المتحدة ASCII. هناك بعض الطرق المختلفة (مقتبسة ، ECC.)
تحقق أيضًا من حدث OnInitializeiso.
نصائح أخرى
تأكد من تعيين charset الصحيح عن طريق القيام بذلك
MyIdMessage.CharSet := 'US-ASCII';
يتم سرد قيم السلسلة في صفيف IdcharsetNames.
لا تنتمي إلى StackOverflow