diff --git a/data/Dockerfiles/dovecot/quarantine_notify.py b/data/Dockerfiles/dovecot/quarantine_notify.py index f0e7d113..277a0472 100755 --- a/data/Dockerfiles/dovecot/quarantine_notify.py +++ b/data/Dockerfiles/dovecot/quarantine_notify.py @@ -110,7 +110,13 @@ for record in records: print('Could not determine last notification for %s, assuming never' % (record['rcpt'])) last_notification = 0 attrs_json = query_mysql('SELECT attributes FROM mailbox WHERE username = "%s"' % (record['rcpt'])) - attrs = json.loads(str(attrs_json[0]['attributes'])) + attrs = attrs_json[0]['attributes'] + if isinstance(attrs, str): + # if attr is str then just load it + attrs = json.loads(attrs) + else: + # if it's bytes then decode and load it + attrs = json.loads(attrs.decode('utf-8')) if attrs['quarantine_notification'] not in ('hourly', 'daily', 'weekly', 'never'): print('Abnormal quarantine_notification value') continue