texto ilegible en la construcción de mensajes de correo electrónico con vmime
Pregunta
Hola, mi programa Qt C ++ tiene una parte donde tiene que enviar los primeros 128 caracteres o menos de la salida de un comando de bash a una dirección de correo electrónico. La salida del TTY es capturado en un cuadro de texto en mi GUI llamada textEdit_displayOutput y puesto en mi mensaje he construido utilizando el generador de mensajes (el m_vmMessage objeto) Aquí está el fragmento de código correspondiente:
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 );
Dar 'ls / bash y una nueva línea hace vmime dar salida a la terminal de esta manera:
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 =
Considerando que debe mirar más a esto:
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>
Salida parece estar truncado en torno a 'root', nada después de que se muestre.
¿Cómo puedo codificar y unir las piezas del correo electrónico correctamente? No vmime simplemente los muestran como esa en el propósito y el contenido real del mensaje es completo y el formato correcto?
Gracias!
No hay solución correcta
Otros consejos
=0A
es un avance de línea caracteres (LF).
=09
es una pestaña horizontal (HT).
Creo que esto es sólo su forma de codificar los caracteres no imprimibles (control) de MIME.