コード例 #1
0
ファイル: isolator.py プロジェクト: Aeromg/queuemagic
    def execute(self):
        email = self.bus.email

        recipient = None

        headers = [h for h in self._headers if h in email.header.keys()]

        for header in headers:
            proxy = email.header[header]
            recipient = first_or_default([r for r in proxy if r.address == self.bus.recipient])
            if not recipient is None:
                break

        if recipient is None:
            #raise Exception('No <{0}> address in To: header'.format(self.bus.recipient))
            recipient = EmailAddress(address=self.bus.recipient)

        for header in headers:
            proxy = email.header[header]
            del proxy[:]

        if self._undisclosed:
            email.to_addresses.append(EmailAddress(decoded_name='undisclosed-recipients:;', address=''))
            email.blind_carbon_copy.append(recipient)
        else:
            email.to_addresses.append(recipient)

        return True
コード例 #2
0
ファイル: text_aggregator.py プロジェクト: Aeromg/queuemagic
    def get_html_body(self):
        expression = \
            lambda p: \
                (not p.is_multipart()) \
                    and p.get_filename() is None \
                    and p.get_content_maintype() == 'text' \
                    and p.get_content_subtype() == 'html'

        payload = first_or_default(self.find_payloads(expression))

        if payload:
            return EmailTextContentProxy(payload)

        return None
コード例 #3
0
ファイル: address.py プロジェクト: Aeromg/queuemagic
 def remove_address(self, address):
     address_obj = first_or_default([obj for obj in self if obj.address == address])
     if address_obj:
         self.remove(address_obj)