def handle(self, **options: Optional[str]) -> None: if options['fixture'] is None: self.print_help('./manage.py', 'send_to_email_mirror') raise CommandError if options['stream'] is None: stream = "Denmark" else: stream = options['stream'] realm = self.get_realm(options) if realm is None: realm = get_realm("zulip") full_fixture_path = os.path.join(settings.DEPLOY_ROOT, options['fixture']) # parse the input email into EmailMessage type and prepare to process_message() it message = self._parse_email_fixture(full_fixture_path) self._prepare_message(message, realm, stream) mirror_email_message( message['To'].addresses[0].addr_spec, base64.b64encode(message.as_bytes()).decode(), )
def handle(self, **options: Optional[str]) -> None: if options['fixture'] is None: self.print_help('./manage.py', 'send_to_email_mirror') raise CommandError if options['stream'] is None: stream = "Denmark" else: stream = options['stream'] realm = self.get_realm(options) if realm is None: realm = get_realm("zulip") full_fixture_path = os.path.join(settings.DEPLOY_ROOT, options['fixture']) # parse the input email into Message type and prepare to process_message() it message = self._parse_email_fixture(full_fixture_path) self._prepare_message(message, realm, stream) data: Dict[str, str] = {} data['recipient'] = str( message['To']) # Need str() here to avoid mypy throwing an error data['msg_text'] = message.as_string() mirror_email_message(data)
def email_mirror_message( request: HttpRequest, rcpt_to: str = REQ(), msg_base64: str = REQ(), ) -> HttpResponse: result = mirror_email_message(rcpt_to, msg_base64) if result["status"] == "error": return json_error(result['msg']) return json_success()
def email_mirror_message(request: HttpRequest, data: Dict[str, str]=REQ(validator=check_dict([ ('recipient', check_string), ('msg_text', check_string)]))) -> HttpResponse: result = mirror_email_message(ujson.loads(request.POST['data'])) if result["status"] == "error": return json_error(result['msg']) return json_success()
def email_mirror_message(request, data=REQ(validator=check_dict([ ('recipient', check_string), ('msg_text', check_string), ]))): # type: (HttpRequest, Dict[str, str]) -> HttpResponse result = mirror_email_message(ujson.loads(request.POST['data'])) if result["status"] == "error": return json_error(result['msg']) return json_success()