diff --git a/src/pgp/gpg.c b/src/pgp/gpg.c index cae16ffb..1ea2ef02 100644 --- a/src/pgp/gpg.c +++ b/src/pgp/gpg.c @@ -656,11 +656,15 @@ p_gpg_decrypt(const char* const cipher) error = gpgme_get_key(ctx, recipient->keyid, &key, 1); if (!error && key) { - const char* addr = gpgme_key_get_string_attr(key, GPGME_ATTR_EMAIL, NULL, 0); - if (addr) { - g_string_append(recipients_str, addr); + for (gpgme_user_id_t uid = key->uids; uid != NULL; uid = uid->next) { + if (uid->email) { + g_string_append(recipients_str, uid->email); + break; + } } gpgme_key_unref(key); + } else if (error) { + log_warning("GPGME error: %s", gpgme_strerror(error)); } if (recipient->next) {