Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

from airflow.models import BaseOperator 

from airflow.utils import send_email 

from airflow.utils import apply_defaults 

 

 

class EmailOperator(BaseOperator): 

    """ 

    Sends an email. 

 

    :param to: list of emails to send the email to 

    :type to: list or string (comma or semicolon delimited) 

    :param subject: subject line for the email (templated) 

    :type subject: string 

    :param html_content: content of the email (templated), html markup 

        is allowed 

    :type html_content: string 

    :param files: file names to attach in email 

    :type files: list 

    """ 

 

    template_fields = ('subject', 'html_content') 

    template_ext = ('.html',) 

    ui_color = '#e6faf9' 

 

    @apply_defaults 

    def __init__( 

            self, 

            to, 

            subject, 

            html_content, 

            files=None, 

            *args, **kwargs): 

        super(EmailOperator, self).__init__(*args, **kwargs) 

        self.to = to 

        self.subject = subject 

        self.html_content = html_content 

        self.files = files or [] 

 

    def execute(self, context): 

        send_email(self.to, self.subject, self.html_content, files=self.files)