首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用vmime构建电子邮件时出现乱码文本

使用vmime构建电子邮件时出现乱码文本
EN

Stack Overflow用户
提问于 2010-03-14 07:38:19
回答 1查看 460关注 0票数 0

嘿,我的Qt C++程序有一部分需要将bash命令输出的前128个字符发送到一个电子邮件地址。tty的输出被捕获到我的gui中名为textEdit_displayOutput的文本框中,并放入我使用消息构建器(对象m_vmMessage )构建的消息中,下面是相关的代码片段:

代码语言:javascript
复制
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给出如下的终端输出:

代码语言:javascript
复制
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  =

然而,它应该看起来更像这样:

代码语言:javascript
复制
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>

输出似乎在“root”附近被截断,显示后什么也没有。

如何正确地对电子邮件进行编码和拼接?vmime只是故意那样显示它,并且电子邮件的实际内容是完整的和适当格式的吗?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2010-03-14 07:44:59

=0A是换行符(LF)。

我认为这只是MIME对非打印(控制)字符进行编码的方式。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2440528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档