def verify(self):
        '''Verifies the message data based on rules and restrictions defined
        in the Postmark API docs.  There can be no more than 20 recipients
        in total. NOTE: This does not check that your attachments total less
        than 10MB, you must do that yourself.
        '''
        if self.to is None:
            raise MessageError('"to" is required')
        if self.html is None and self.text is None:
            err = 'At least one of "html" or "text" must be provided'
            raise MessageError(err)
        self._verify_headers()
        self._verify_attachments()
        if (MAX_RECIPIENTS_PER_MESSAGE and
                len(self.recipients) > MAX_RECIPIENTS_PER_MESSAGE):
            err = 'No more than {0} recipients accepted.'
            raise MessageError(err.format(MAX_RECIPIENTS_PER_MESSAGE))