안녕하세요. Qt C++ 프로그램에는 bash 명령 출력의 처음 128 자 정도를 전자 메일 주소로 보내야하는 부분이 있습니다.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는 '1! : 청각 장애의 출력은 여기에 관련 코드가 textEdit_displayOutput라는 내 GUI에서 텍스트 상자에 캡처 나는 메시지 작성기 (객체 m_vmMessage)를 사용하여 만들어 내 메시지에 넣고
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 =
더 다음과 같아야 반면 :/'와 개행 vmime 이런 출력 단자 제공한다
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 보인다 'root'주위에 표시됩니다. 아무 것도 표시되지 않습니다.
전자 메일을 어떻게 인코딩하고 적절하게 결합합니까? vmime은 의도적으로 그것을 표시하고 전자 메일의 실제 내용이 완전하고 올바르게 형식화되어 있습니까?
감사합니다.
전자 메일의 실제 정보는 괜찮습니까? 그뿐 아니라 'ls'의 전체 출력도 제공하지 않습니다. ('root '에서 잘 렸습니다) –
이메일 수신시 무엇이 보입니까? 괜찮은 이메일 클라이언트는 당신에게 원시 MIME 인코딩 첨부 파일을 보여줘서는 안된다고 생각합니다. 또한 잘라내는 것은 아마도 별개의 문제 일 수 있습니다. 플러시되지 않는 버퍼링 된 출력 스트림이 있습니까? 아니면 ...? –