def send_email(): """ Validates and send an email. Accepts JSON or url encoded parameters. """ params = request.json or request.params recps = { 'to': params.get('to', None), 'cc': params.get('cc', None), 'bcc': params.get('bcc', None) } subject = params.get('subject', None) body = params.get('body', None) from_ = params.get('from', None) reply_to = params.get('reply_to', None) try: # Init and validate data structures recipients = build_recipients(recps) email = build_email(recipients, subject, body, from_, reply_to) # Init Manager with registed providers manager = ProvidersManager( REGISTERED_PROVIDERS, app().config[PROVIDERS_KEY] ) sent = manager.send(email) except (InvalidRecipientError, InvalidEmailError) as e: _LOG.warning("%s", e) abort(400, e) return {"sent": sent}
def setUp(self): self.registered_providers = REGISTERED_PROVIDERS self.recps = build_recipients({ 'to': "a b <*****@*****.**>", 'cc': ["c d <*****@*****.**>", "*****@*****.**", " [email protected]"], 'bcc': "hey <*****@*****.**" # should pass }) self.from_ = Recipient.from_string("unittest <noreply@unitest", 'from') complete = Email(subject="a", text='hey', html="<p>hey</p>", replyto="*****@*****.**") complete.add_recipients(self.recps) complete.from_ = self.from_ self.emails = [Email(), complete] self.key_config = {'user': '******', 'key': 'blah'}
def send_email(): """ Validates and send an email. Accepts JSON or url encoded parameters. """ params = request.json or request.params recps = { 'to': params.get('to'), 'cc': params.get('cc'), 'bcc': params.get('bcc') } subject = params.get('subject') text = params.get('text') html = params.get('html') from_ = params.get('from') reply_to = params.get('reply_to') route = params.get('route') try: # Init and validate data structures recipients = build_recipients(recps) email = build_email(recipients, subject, text, html, from_, reply_to) # Init Manager with registed providers try: providers = get_route(app().config, email, route) print(providers) except Exception as e: # TODO change this _LOG.exception("Routing error") raise InvalidEmailError # manager = ProvidersManager(providers, app().config[PROVIDERS_KEY]) res, provider = manager.send(email) except (InvalidRecipientError, InvalidEmailError) as e: _LOG.warning("%s", e) abort(400, e) print(res.text) return {"sent": bool(res), "provider": provider}
def setUp(self): self.registered_providers = REGISTERED_PROVIDERS self.recps = build_recipients({ 'to': "a b <*****@*****.**>", 'cc': ["c d <*****@*****.**>", "*****@*****.**", " [email protected]"], 'bcc': "hey <*****@*****.**" # should pass }) self.from_ = Recipient.from_string("unittest <noreply@unitest", 'from') complete = Email( subject="a", text='hey', html="<p>hey</p>", replyto="*****@*****.**" ) complete.add_recipients(self.recps) complete.from_ = self.from_ self.emails = [ Email(), complete ] self.key_config = {'user': '******', 'key': 'blah'}