2010-03-13 1 views
0

Эй, моя программа Qt C++ имеет часть, в которой ему нужно отправить первые 128 символов или около того вывода команды bash на адрес электронной почты. Выход из TTY захватывается в текстовом поле в моем гуй называется textEdit_displayOutput и положить в мое сообщение я построил с помощью Message Builder (объект m_vmMessage) Вот соответствующий фрагмент кода:Углубленный текст при построении сообщений электронной почты с помощью 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); 

Давать Баш «Ls /»и символ новой строки делает vmime дать вывод на терминал, как это:

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> 

выход, кажется, truncat ed вокруг «root», ничего не отображается.

Как правильно закодировать и скомпоновать электронное письмо? Vmime просто отображает это как это специально, и фактическое содержание письма заполнено и правильно отформатировано?

Спасибо!

ответ

1

=0A - символ линии (LF).
=09 - горизонтальная вкладка (HT).

Я думаю, что это всего лишь способ MIME кодирования ваших непечатаемых (управляющих) символов.

+0

Хорошо, поэтому фактическая информация в письме в порядке? Не только это, но также не дает весь вывод 'ls' (Обратите внимание, что он усечен у« root ») – 2010-03-14 02:10:20

+0

Что вы видите при получении электронной почты? По-моему, приличный почтовый клиент не должен показывать вам исходное MIME-кодированное приложение. Кроме того, проблема усечения, возможно, является отдельной проблемой. Есть ли буферный выходной поток, который вы не смываете, или ...? –

Смежные вопросы