Detectar si un correo electrónico es una "Notificación de estado de entrega" y extraer información - Python

Estoy usando Pythonemail módulo para analizar correos electrónicos.

Necesito saber si un correo electrónico es una "Notificación de estado de entrega", averiguar cuál es el estado y extraer información sobre el correo electrónico que falló, por ejemplo. el tema

El objeto que obtengo después de analizar con .parsestr (correo electrónico) es así:

{'Content-Transfer-Encoding': 'quoted-printable',
 'Content-Type': 'text/plain; charset=ISO-8859-1',
 'Date': 'Mon, 14 Mar 2011 11:26:24 +0000',
 'Delivered-To': '[email protected]',
 'From': 'Mail Delivery Subsystem <[email protected]>',
 'MIME-Version': '1.0',
 'Message-ID': '<[email protected]>',
 'Received': 'by 10.142.13.8 with SMTP id 8cs63078wfm;\r\n        Mon, 14 Mar 2011 04:26:24 -0700 (PDT)',
 'Return-Path': '<>',
 'Subject': 'Delivery Status Notification (Failure)',
 'To': '[email protected]',
 'X-Failed-Recipients': '[email protected]'}

En primer luga, ¿cómo puedo decir que este es un DSN sin usar una expresión regular sobre el tema?

En segundo luga, ¿Cómo accedo al cuerpo del correo electrónico e información como el error que devolvió el servidor de correo?

editar funcionó Necesito usar.get_payload() para obtener el contenido del mensaje.

Losemail docs decir:

La clase Parser no tiene diferencias en su interfaz pública. @ Tiene algunos conocimientos adicionales para reconocer mensajes de tipo mensaje / estado de entrega, que representa como una instancia de Mensaje que contiene subpartes de Mensaje separadas para cada bloque de encabezado en la notificación de estado de entrega

Actualizar

ásicamente, necesito poder detectar de manera confiable que un correo electrónico es un DSN, y luego también extraer el mensaje original para poder analizarlo con email.Parser () y obtener información al respecto.

Respuestas a la pregunta(3)

Su respuesta a la pregunta