Since integers are immutable it's probably not actually an issue in this case, but for future reference the problem is this:

http://stackoverflow.com/questions/207000/python-difference-between-class-and-instance-attributes

Nonetheless, I'd probably do it like this just to keep all the configuration done the same way throughout the `EmailBackend` class:

    class EmailBackend(BaseEmailBackend):
       def __init__(self, host=None, port=None, username=None, password=None,
                     use_tls=None, fail_silently=False, use_ssl=None, timeout=None):
          self.timeout = timeout
          # ...

and then:

    class MyEmailBackend(EmailBackend):
        def __init__(*args, **kwargs):
            kwargs['timeout'] = 60
            super(MyEmailBackend, self).__init__(*args, **kwargs)

I think the better, long term solution is probably to collapse all the `EMAIL_*` settings into a single dictionary (a la `DATABASES`) that allows passing arbitrary arguments to `__init__`, and this way of doing it would keep the door open for that change without changing the API.