This module allows you to poke for attachments on a mail server.

Module Contents



Waits for a specific attachment on a mail server.

class airflow.providers.imap.sensors.imap_attachment.ImapAttachmentSensor(*, attachment_name, check_regex=False, mail_folder='INBOX', mail_filter='All', conn_id='imap_default', **kwargs)[source]

Bases: airflow.sensors.base.BaseSensorOperator

Waits for a specific attachment on a mail server.

  • attachment_name (str) -- The name of the attachment that will be checked.

  • check_regex (bool) -- If set to True the attachment's name will be parsed as regular expression. Through this you can get a broader set of attachments that it will look for than just only the equality of the attachment name.

  • mail_folder (str) -- The mail folder in where to search for the attachment.

  • mail_filter (str) -- If set other than 'All' only specific mails will be checked. See for details.

  • imap_conn_id (str) -- The imap connection id to run the sensor against.

template_fields :Sequence[str] = ['attachment_name', 'mail_filter'][source]
poke(self, context: airflow.utils.context.Context) bool[source]

Pokes for a mail attachment on the mail server.


context (dict) -- The context that is being provided when poking.


True if attachment with the given name is present and False if not.

Return type


Was this entry helpful?