作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
嘿,我的 Qt C++ 程序有一部分需要将 bash 命令输出的前 128 个字符左右发送到电子邮件地址。 tty 的输出被捕获在我的 gui 中名为 textEdit_displayOutput 的文本框中,并放入我使用 Message Builder(对象 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 对非打印(控制)字符进行编码的方式。
关于c++ - 使用 vmime 构建电子邮件时出现乱码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2440528/
我是一名优秀的程序员,十分优秀!