تحذير "خط مقتبس قابل للطباعة أطول من 76 حرفًا" عند إرسال بريد إلكتروني بتنسيق HTML

StackOverflow https://stackoverflow.com/questions/58630

  •  09-06-2019
  •  | 
  •  

سؤال

لقد كتبت بعض التعليمات البرمجية في تطبيق VB.NET الخاص بي لإرسال بريد إلكتروني بتنسيق HTML (في هذه الحالة، تذكير بكلمة المرور المفقودة).

عندما أقوم باختبار البريد الإلكتروني، يتم أكله بواسطة مرشح البريد العشوائي الخاص بي.أحد الأشياء التي سجلت نتائج سيئة فيها هو المشكلة التالية:

MIME_QP_LONG_LINE  RAW: Quoted-printable line longer than 76 chars

لقد قمت بالبحث في مصدر البريد الإلكتروني، وقمت بتقسيم كل سطر أطول من 76 حرفًا إلى سطرين مع وجود CR+LF بينهما، لكن هذا لم يحل المشكلة.

يمكن لأي شخص لي نقطة في الاتجاه الصحيح؟

شكرًا!

هل كانت مفيدة؟

المحلول

تعمل الطباعة المقتبسة على توسيع أحرف 8 بت إلى "={HEX-Code}"، مما يجعل الرسائل أطول.ربما كنت مجرد ضرب هذا الحد؟

هل حاولت تقسيم الرسالة إلى 70 حرفًا مثلاً؟يجب أن يوفر ذلك مساحة لبضعة أحرف في كل سطر.

أو يمكنك فقط تشفير البريد الإلكتروني باستخدام Base64 - ويمكن لجميع عملاء البريد التعامل مع ذلك.

أو يمكنك فقط ضبط ترميز نقل المحتوى على 8 بت وإرسال البيانات غير مشفرة.لا أعلم أنه لا يوجد خادم بريد غير قادر على التعامل مع بايت 8 بت في هذه الأيام.

نصائح أخرى

يعد هذا خطأ في تنفيذ التشفير المقتبس القابل للطباعة في System.Net.Mail.MailMessage، والذي كان موجودًا لفترة طويلة، ولكن يبدو أنه تم إصلاحه الآن، اعتبارًا من .Net 4 Beta 2.

http://connect.microsoft.com/VisualStudio/feedback/details/156052/mailmessage-body-encoding-quoted-printable-violates-rfcs-soft-line-breaks-requirements

أحد الحلول هو استخدام ترميز Base64 بدلاً من ذلك (على الرغم من أنه لن يكون من الممارسات الجيدة إرسال جزء MIME نص عادي في ترميز غير قابل للقراءة البشرية مثل هذا).إن مطالبة مستخدم الفصل بتقسيم سطور الرسالة يدويًا قبل إرسالها ليس حلاً عامًا، لأن الرسالة المعدلة ليست هي ما أرادوا إرساله (على سبيل المثال،وقد يتضمن رابطًا أطول من 76 حرفًا، وبالتالي لا يمكن تقسيمه).يمكن للطباعة المقتبسة التعامل مع الرسائل التي تحتوي على أسطر أطول من 76 حرفًا قبل الترميز، طالما تم تنفيذه بشكل صحيح.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top