Exemplo n.º 1
0
    def post(self, user_id):
        req = request.get_json()
        text = req.get("text", "").strip()
        user = Users.query.filter_by(id=user_id).first_or_404()

        if get_mail_provider() is None:
            return (
                {
                    "success": False,
                    "errors": {
                        "": ["Email settings not configured"]
                    }
                },
                400,
            )

        if not text:
            return (
                {
                    "success": False,
                    "errors": {
                        "text": ["Email text cannot be empty"]
                    }
                },
                400,
            )

        result, response = sendmail(addr=user.email, text=text)

        return {"success": result}
Exemplo n.º 2
0
def sendmail(addr, text):
    provider = get_mail_provider()
    if provider == 'smtp':
        return smtp.sendmail(addr, text)
    if provider == 'mailgun':
        return mailgun.sendmail(addr, text)
    return False, "No mail settings configured"
Exemplo n.º 3
0
def sendmail(addr, text):
    provider = get_mail_provider()
    if provider == "smtp":
        return smtp.sendmail(addr, text)
    if provider == "mailgun":
        print("Sending mail with Mailgun")
        return mailgun.sendmail(addr, text)
    return False, "No mail settings configured"
Exemplo n.º 4
0
def sendmail(addr, text, subject="Message from {ctf_name}"):
    subject = safe_format(subject, ctf_name=get_config("ctf_name"))
    provider = get_mail_provider()
    if provider == "smtp":
        return smtp.sendmail(addr, text, subject)
    if provider == "mailgun":
        return mailgun.sendmail(addr, text, subject)
    return False, "No mail settings configured"
Exemplo n.º 5
0
    def post(self, user_id):
        req = request.get_json()
        text = req.get('text', '').strip()
        user = Users.query.filter_by(id=user_id).first_or_404()

        if get_mail_provider() is None:
            return {
                'success': False,
                'errors': {
                    "": ["Email settings not configured"]
                }
            }, 400

        if not text:
            return {
                'success': False,
                'errors': {
                    "text": ["Email text cannot be empty"]
                }
            }, 400

        result, response = sendmail(addr=user.email, text=text)

        return {'success': result, 'data': {}}