def new_message(self, recipient_type=RecipientType.TO, *, query=None):
if isinstance(recipient_type, str):<EOL><INDENT>recipient_type = RecipientType(recipient_type)<EOL><DEDENT>recipients = [contact.emails[<NUM_LIT:0>]<EOL>for contact in self.get_contacts(limit=None, query=query)<EOL>if contact.emails and contact.emails[<NUM_LIT:0>].address]<EOL>if not recipients:<EOL><INDENT>return None<EOL><DEDENT>new_message = self.message_constructor(parent=self, is_draft=True)<EOL>target_recipients = getattr(new_message, str(recipient_type.value))<EOL>target_recipients.add(recipients)<EOL>return new_message<EOL>
This method returns a new draft Message instance with all the
        contacts first email as a recipient

        :param RecipientType recipient_type: section to add recipient into
        :param query: applies a OData filter to the request
        :type query: Query or str
        :return: newly created message
        :rtype: Message or None