النص المشوه عند إنشاء رسائل البريد الإلكتروني مع VMIME
سؤال
مهلا، يحتوي برنامج QT C ++ الخاص بي على جزء حيث يحتاج إلى إرسال أول 128 حرفا أو نحو ذلك من إخراج أمر BASH إلى عنوان بريد إلكتروني. يتم التقاط الإخراج من TTY في مربع نص في واجهة المستخدم الرسومية لي يسمى textedit_displayoutput ووضعه في رسالتي التي بنيتها باستخدام منشئ الرسائل (الكائن M_VMRESSAGE) هنا هو مقتطف التعليمات البرمجية ذات الصلة:
m_vmMessage.getTextPart()->setCharset( vmime::charsets::US_ASCII );
m_vmMessage.getTextPart()->setText( vmime::create < vmime::stringContentHandler > ( ui->textEdit_displayOutput->toPlainText().toStdString() ) );
vmime::ref < vmime::message > msg = m_vmMessage.construct();
vmime::utility::outputStreamAdapter out( std::cout );
msg->generate( out );
إعطاء باش "LS / 'و Newline يجعل VMMIME أعط إخراج المحطة الطرفية مثل هذا:
ls /=0Abin etc=09 initrd.img.old mnt=09 sbin=09 tmp=09 vmlinuz.o=
ld=0Aboot farts=09 lib=09=09 opt=09 selinux usr=0Acdrom home=09 =
lost+found=09 proc srv=09 var=0Adev initrd.img media=09 root =
في حين يجب أن تبدو أكثر مثل هذا:
ls /
bin etc initrd.img.old mnt sbin tmp vmlinuz.old
boot farts lib opt selinux usr
cdrom home lost+found proc srv var
dev initrd.img media root sys vmlinuz
18:22>
يبدو أن الإخراج يتم اقتطاعه حول "الجذر"، لا شيء بعد عرضه.
كيف يمكنني تشفير وقطعة البريد الإلكتروني بشكل صحيح؟ هل عرض VMIME فقط مثل ذلك عن قصد والمحتوى الفعلي للبريد الإلكتروني كاملة ومنسقة بشكل صحيح؟
شكرا!
لا يوجد حل صحيح
نصائح أخرى
=0A
هو حرف تغذية خط (LF).
=09
هي علامة تبويب أفقي (HT).
أعتقد أن هذه مجرد طريقة MIME لترميز أحرفك غير الطباعة (التحكم).