QString EmailMessageListModel::bodyPlainText(const QMailMessage &mailMsg) const { QMailMessagePartContainer *container = (QMailMessagePartContainer *)&mailMsg; QMailMessageContentType contentType = container->contentType(); if (container->hasBody() && contentType.type().toLower() == "text" && contentType.subType().toLower() == "plain") { return container->body().data(); } QString text(""); for ( uint i = 0; i < container->partCount(); i++ ) { QMailMessagePart messagePart = container->partAt(i); contentType = messagePart.contentType(); if (messagePart.hasBody() && contentType.type().toLower() == "text" && contentType.subType().toLower() == "plain") { text += messagePart.body().data() + "\n"; } QMailMessagePart subPart; for (uint j = 0; j < messagePart.partCount(); j++) { subPart = messagePart.partAt(j); contentType = subPart.contentType(); if (subPart.hasBody() && contentType.type().toLower() == "text" && contentType.subType().toLower() == "plain") text += subPart.body().data() + "\n"; } } return text; }
bool QMailCryptoSMIME::partHasSignature(const QMailMessagePartContainer &part) const { if (part.multipartType() != QMailMessagePartContainerFwd::MultipartSigned || part.partCount() != 2) return false; const QMailMessagePart signature = part.partAt(1); if (!signature.contentType().matches("application", "pkcs7-signature") && !signature.contentType().matches("application", "x-pkcs7-signature")) return false; return true; }