示例#1
0
 def handle(self, *args, **kwargs):
     try:
         if hasattr(settings, "LANGUAGE_CODE"):
             translation.activate(settings.LANGUAGE_CODE)
         return self.do(*args, **kwargs)
     except Exception as e:
         msg = "ERROR: {}\nargs: {}\nkwargs: {}\n{}".format(str(e), args, kwargs, traceback.format_exc())
         logger.error(msg)
         if not settings.DEBUG:
             send_email(settings.ADMINS, "Error @ {}".format(getpass.getuser()), msg)
         raise
示例#2
0
 def handle(self, *args, **options):
     try:
         if hasattr(settings, 'LANGUAGE_CODE'):
             translation.activate(settings.LANGUAGE_CODE)
         return self.do(*args, **options)
     except Exception as e:
         msg = "ERROR: {} {}".format(str(e), traceback.format_exc())
         logger.error(msg)
         print(msg)
         if not settings.DEBUG:
             send_email(settings.ADMINS,
                        'Error @ {}'.format(getpass.getuser()), msg)
示例#3
0
 def do(self, *args, **kw):
     files = kw['attach'] if kw['attach'] else []
     subject = 'hello ' + now().isoformat()
     text = 'body text'
     html = '<h1>html text</h1>'
     sender = '"Kajala Group Asiakaspalvelu" <*****@*****.**>'
     res = send_email(kw['email'], subject, text, html, sender, files)
     print('send_email returned', res)
示例#4
0
    def do(self, *args, **kw):  # pylint: disable=too-many-branches
        files = kw["attach"] if kw["attach"] else []
        if not files:
            full_path = os.path.join(settings.BASE_DIR, "data/attachment.jpg")
            if os.path.isfile(full_path):
                files.append(full_path)
        subject = "hello " + now().isoformat()
        html = '<h1>html text</h1><p><a href="https://kajala.com/">Kajala Group Ltd.</a></p>'
        if kw["body"]:
            html = kw["body"]
        if kw["body_file"]:
            html = open(kw["body_file"], "rt", encoding="utf-8").read()  # pylint: disable=consider-using-with
        if kw["subject"]:
            subject = kw["subject"]
        text = strip_tags(html)
        sender = kw["sender"] if kw["sender"] else ""

        if kw["smtp"]:
            res = send_email_smtp(
                kw["to"],
                subject,
                text,
                html,
                sender,
                files,
                bcc_recipients=kw["bcc"],
                cc_recipients=kw["cc"],
                exceptions=True,
            )
        elif kw["sendgrid"]:
            res = send_email_sendgrid(
                kw["to"],
                subject,
                text,
                html,
                sender,
                files,
                bcc_recipients=kw["bcc"],
                cc_recipients=kw["cc"],
                exceptions=True,
            )
        else:
            res = send_email(
                kw["to"],
                subject,
                text,
                html,
                sender,
                files,
                bcc_recipients=kw["bcc"],
                cc_recipients=kw["cc"],
                exceptions=True,
            )

        self.stdout.write("send_email returned {}".format(res))
示例#5
0
 def process_exception(self, request, e):
     """
     Logs exception error message and sends email to ADMINS if hostname is not testserver and DEBUG=False.
     :param request: HttpRequest
     :param e: Exception
     """
     assert isinstance(request, HttpRequest)
     method = str(request.method).upper()
     uri = request.build_absolute_uri()
     user = request.user
     msg = "{method} {uri}\n{err} (IP={ip}, user={user}) {trace}".format(
         method=method,
         uri=uri,
         user=user,
         ip=get_client_ip(request)[0],
         err=e,
         trace=traceback.format_exc())
     logger.error(msg)
     hostname = request.get_host()
     if not settings.DEBUG and hostname != "testserver":
         send_email(settings.ADMINS, "Error @ {}".format(hostname), msg)
示例#6
0
    def process_exception(self, request, e):
        """
        Logs exception error message and sends email to ADMINS if hostname is not testserver and DEBUG=False.
        :param request: HttpRequest
        :param e: Exception
        """
        from jutil.email import send_email

        assert isinstance(request, HttpRequest)
        full_path = request.get_full_path()
        user = request.user
        msg = '{full_path}\n{err} (IP={ip}, user={user}) {trace}'.format(
            full_path=full_path,
            user=user,
            ip=get_real_ip(request),
            err=e,
            trace=str(traceback.format_exc()))
        logger.error(msg)
        hostname = request.get_host()
        if not settings.DEBUG and hostname != 'testserver':
            send_email(settings.ADMINS, 'Error @ {}'.format(hostname), msg)
        return None