Texto iluminado ao construir e -mails com vmime
Pergunta
Ei, meu programa QT C ++ tem uma parte em que ele precisa enviar os primeiros 128 caracteres da saída de um comando bash para um endereço de email. A saída do TTY é capturada em uma caixa de texto na minha GUI chamada textitIt_displayoutput e colocada em minha mensagem que construí usando o construtor de mensagens (o objeto m_vmmessage) Aqui está o snippet de código relevante:
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 a Bash 'ls /' e uma nova linha faz com que o VMIME dê uma saída do terminal como esta:
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 deve parecer mais assim:
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>
A saída parece ser truncada em torno da 'raiz', nada depois de ser exibido.
Como faço para codificar e reunir o email corretamente? O VMIME apenas o exibe assim de propósito e o conteúdo real do email está completo e formatado corretamente?
Obrigado!
Nenhuma solução correta
Outras dicas
=0A
é um caractere de alimentação de linha (LF).
=09
é uma guia horizontal (ht).
Eu acho que essa é apenas a maneira do MIME de codificar seus caracteres não imprimíveis (controle).