コード例 #1
0
def mail_track(http_meta, encrypted):
    from dbmail.models import MailLogTrack, MailLog

    class Request(object):
        META = http_meta

    try:
        request = Request()

        mail_log_id = signing.loads(encrypted)
        mail_log = MailLog.objects.get(log_id=mail_log_id)

        track_log = MailLogTrack.objects.filter(mail_log=mail_log)
        if not track_log.exists():
            MailLogTrack.objects.create(
                mail_log=mail_log,
                ip=get_ip(request),
                ua=request.META.get('HTTP_USER_AGENT'),
                is_read=True,
            )
        else:
            track_log[0].save()
    except (signing.BadSignature, MailLog.DoesNotExist):
        pass
    except Exception as exc:
        raise mail_track.retry(
            retry=True,
            max_retries=SEND_RETRY,
            countdown=SEND_RETRY_DELAY,
            exc=exc,
        )
コード例 #2
0
def mail_track(http_meta, encrypted):
    from dbmail.models import MailLogTrack, MailLog

    class Request(object):
        META = http_meta

    try:
        request = Request()

        mail_log_id = signing.loads(encrypted)
        mail_log = MailLog.objects.get(log_id=mail_log_id)

        track_log = MailLogTrack.objects.filter(mail_log=mail_log)
        if not track_log.exists():
            MailLogTrack.objects.create(
                mail_log=mail_log,
                ip=get_ip(request),
                ua=request.META.get('HTTP_USER_AGENT'),
                is_read=True,
            )
        else:
            track_log[0].save()
    except (signing.BadSignature, MailLog.DoesNotExist):
        pass
    except Exception as exc:
        raise mail_track.retry(
            retry=True, max_retries=SEND_RETRY,
            countdown=SEND_RETRY_DELAY, exc=exc,
        )
コード例 #3
0
ファイル: models.py プロジェクト: atten/django-db-mailer
    def is_allowed_ip(self, request):
        """
        Returns True if client ip is in allowed_origins or allowed_origins field is empty
        """
        if not self.allowed_origins:
            return True

        client_ip = get_ip(request)
        return client_ip in self.allowed_origins.split()
コード例 #4
0
    def track(cls, http_meta, encrypted):
        class Request(object):
            META = http_meta

        try:
            request = Request()

            mail_log_id = signing.loads(encrypted)
            mail_log = MailLog.objects.get(log_id=mail_log_id)

            track_log = MailLogTrack.objects.filter(mail_log=mail_log)
            if not track_log.exists():
                MailLogTrack.objects.create(
                    mail_log=mail_log,
                    ip=get_ip(request),
                    ua=request.META.get('HTTP_USER_AGENT'),
                    is_read=True,
                )
            else:
                track_log[0].save()
        except (signing.BadSignature, MailLog.DoesNotExist):
            pass