Ejemplo n.º 1
0
    def post(self):

        # get scheduled sending time
        time_scheduled = self.request.get('time_scheduled', default_value=None)
        if time_scheduled is None:
            self.response.set_status(400)
            return self.json_response({'error': 'time_scheduled is required'})
        time_scheduled = parse_date(time_scheduled)

        # retrieve email details from post body
        sender = self.request.get('sender', default_value=None)
        to = self.request.get('to', default_value=[])
        reply_to = self.request.get('reply_to', default_value=None)
        subject = self.request.get('subject', default_value=None)
        body_plain = self.request.get('body_plain', default_value=None)
        body_html = self.request.get('body_html', default_value=None)

        # build email model and save/send
        new_email = ScheduledEmail(
            time_scheduled=time_scheduled,
            sender=sender,
            to=[to],
            reply_to=reply_to,
            subject=subject,
            body_plain=body_plain,
            body_html=body_html,
        )

        new_email.put()

        # build and return response object
        response = new_email.get_json(encode=False)
        return self.json_response(response)