Closed issue by nmeum on mblaze repository https://github.com/leahneukirchen/mblaze/issues/175 Description: I recently noticed that `contrib/mpgp` doesn't seem to handle encrypted PGP/MIME multipart messages well. For instance, consider an encrypted PGP/MIME messages which consists of text + attachments (e.g. tarballs). Since `mpgp` is a filter it does not seem to be possible to extract attachments from such a message (e.g. through `mshow -x`) or at least, I didn't manage to do so. In case anybody else is encountering this issue, I wrote myself the following script (`mshowpgp`) which I use instead of `mpgp`: ```shell #!/bin/sh # Decryptes current mblaze PGP/MIME message. set -e # See ENVIRONMENT section in mseq(1). MBLAZE="${MBLAZE:-$HOME/.mblaze}" MAILCUR="${MAILCUR:-$MBLAZE/cur}" n=$(mshow -t | awk -F: ' /: application\/pgp-encrypted/ {supported = 1} /: application\/octet-stream/ {if (supported) { print $1; exit }}') if [ "$n" ]; then mshow -n -O "$MAILCUR" "$n" | gpg --decrypt | mshow -n /dev/stdin "$@" exit 0 else echo "Current mblaze message is not PGP/MIME encrypted" 1>&2 exit 1 fi ``` If the current message is PGP/MIME encrypted its attachments can be extracted using `mshowpgp -x` as usual. The script also illustrates some shortcomings of `mshow`: 1. There doesn't seem to be any portable way of reading messages from standard input (iirc `/dev/stdin` is not specified by POSIX). 2. If `mshow -x` or `mshow -O` is used it does not seem to be possible to use the current message without explicitly specifying its path. If there is any way to extract attachments with the `mpgp` filter please let me know.