2010-03-13 10 views
0

Hey, mon programme Qt C++ a une partie où il doit envoyer les 128 premiers caractères de la sortie d'une commande bash à une adresse e-mail. La sortie du téléscripteur est capturé dans une zone de texte dans mon IUG appelé textEdit_displayOutput et mis dans mon message que je construit à l'aide du message Builder (l'objet m_vmMessage) Voici l'extrait de code correspondant:Texte tronqué lors de la construction d'emails avec vmime

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); 

bash Giving « ls/» et un saut de ligne fait vmime donnent une sortie borne comme ceci:

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 = 

considérant qu'il devrait ressembler à ceci:

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> 

sortie semble être truncat ed autour de 'root', rien après il est affiché.

Comment puis-je coder et assembler correctement l'e-mail? Est-ce que vmime l'affiche simplement comme ça et le contenu de l'email est complet et correctement formaté?

Merci!

Répondre

1

=0A est un caractère de saut de ligne (LF).
=09 est une languette horizontale (HT).

Je pense que c'est juste la façon dont MIME codifie vos caractères non-impression (contrôle).

+0

Ok, donc l'information actuelle dans l'email va bien? Non seulement cela, mais il ne donne pas non plus toute la sortie de 'ls' (Notez qu'il est tronqué à 'root') –

+0

Que voyez-vous sur la réception de l'e-mail? Un client de messagerie décent ne devrait pas vous montrer la pièce jointe codée MIME brut, je pense. En outre, la chose de troncature est probablement un problème distinct. Y a-t-il un flux de sortie tamponné que vous ne rincez pas, ou ...? –