题
嗨,我的Qt C ++程序具有它需要发送前128个字符或所以bash命令的输出到一个电子邮件地址的一部分。从tty输出在我的GUI称为textEdit_displayOutput文本框被捕获并投入我的消息我使用消息生成器(对象m_vmMessage)内置下面是相关的代码片断:
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 '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>
输出似乎被截断围绕“根”,它不显示任何内容之后。
我如何编码和拼凑的电子邮件是否正确?难道vmime只是显示它像故意和电子邮件的实际内容是完整的,正确格式化?
谢谢!
没有正确的解决方案
其他提示
=0A
是换行(LF)字符。结果
=09
是水平制表符(HT)。
我认为这仅仅是编码你的非印刷(控制)字符的MIME的方式。
不隶属于 StackOverflow