def send_private_message(self):
        """
        Send a new private message to another user.
        """
        message_info = docs.MESSAGE_FILE
        with self.term.open_editor(message_info) as text:
            if not text:
                self.term.show_notification('Canceled')
                return

            parts = text.split('\n', 2)
            if len(parts) == 1:
                self.term.show_notification('Missing message subject')
                return
            elif len(parts) == 2:
                self.term.show_notification('Missing message body')
                return

            recipient, subject, message = parts
            recipient = recipient.strip()
            subject = subject.strip()
            message = message.rstrip()

            if not recipient:
                self.term.show_notification('Missing recipient')
                return
            elif not subject:
                self.term.show_notification('Missing message subject')
                return
            elif not message:
                self.term.show_notification('Missing message body')
                return

            with self.term.loader('Sending message', delay=0):
                self.reddit.send_message(
                    recipient, subject, message, raise_captcha_exception=True)
                # Give reddit time to process the message
                time.sleep(2.0)

            if self.term.loader.exception:
                raise TemporaryFileError()
            else:
                self.term.show_notification('Message sent!')
                self.selected_page = self.open_inbox_page('sent')