diff --git a/email_handler.py b/email_handler.py index a21661de..b454cf59 100644 --- a/email_handler.py +++ b/email_handler.py @@ -424,10 +424,17 @@ def prepare_pgp_message(orig_msg: Message, pgp_fingerprint: str, public_key: str x = random.randint(0, 9) if x >= 5: LOG.d("encrypt using python-gnupg") - encrypted_data = pgp_utils.encrypt_file( - BytesIO(orig_msg.as_bytes()), pgp_fingerprint - ) - second.set_payload(encrypted_data) + try: + encrypted_data = pgp_utils.encrypt_file( + BytesIO(orig_msg.as_bytes()), pgp_fingerprint + ) + second.set_payload(encrypted_data) + except PGPException: + LOG.exception("Cannot encrypt using python-gnupg, use pgpy") + encrypted_data = pgp_utils.encrypt_file_with_pgpy( + orig_msg.as_bytes(), public_key + ) + second.set_payload(str(encrypted_data)) else: LOG.d("encrypt using pgpy") encrypted_data = pgp_utils.encrypt_file_with_pgpy(