I think the test fails as it is as you're no longer passing `self.timeout` to `smtplib.SMTP_SSL`.

I don't think Django should specify a default of 60. Instead it should be `None` and only passed to the SMTP connection if the user specifies it. 

Here's a quick sketch of what I have in mind (plus some cleanup):

```python
    # If local_hostname is not specified, socket.getfqdn() gets used.
    # For performance, we use the cached FQDN for local_hostname.
    connection_class = smtplib.SMTP_SSL if self.use_ssl else smtplib.SMTP
    connection_params = {
        'local_hostname': DNS_NAME.get_fqdn(),
    }
    if self.timeout is not None:
        connection_params['timeout'] = self.timeout

    self.connection = connection_class(self.host, self.port, **connection_params)

    # TLS/SSL are mutually exclusive, so only attempt TLS over
    # non-secure connections.
    if not self.use_ssl and self.use_tls:
        self.connection.ehlo()
        self.connection.starttls()
        self.connection.ehlo()
```

For the test you'd subclass `EmailBackend` and verify the connection has the timeout use specified.