النص المشوه عند إنشاء رسائل البريد الإلكتروني مع VMIME

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

  •  19-09-2019
  •  | 
  •  

سؤال

مهلا، يحتوي برنامج 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 لترميز أحرفك غير الطباعة (التحكم).

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