Code

Opened 2 years ago

Closed 2 years ago

#17445 closed Bug (wontfix)

sending mail fails when EMAIL_HOST is an empty string

Reported by: tinodb Owned by: nobody
Component: Core (Mail) Version: 1.3
Severity: Normal Keywords:
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: yes UI/UX: no

Description

I changed EMAIL_HOST from a hostname to an empty string, expecting it to use localhost. A misleading error was thrown: SMTPServerDisconnected: please run connect() first. This is because the empty string is passed down to smtplib.SMTP, which doesn't connect on init when the given host evaluates to False.

I don't know what the best solution would be, maybe a note in the docs would be enough? Or should the django SMTP backend change an empty host to 'localhost'?

Attachments (0)

Change History (1)

comment:1 Changed 2 years ago by kmtracey

  • Needs documentation unset
  • Needs tests unset
  • Patch needs improvement unset
  • Resolution set to wontfix
  • Status changed from new to closed

The way to have your project use a default value, for any setting, is to not set it at all in your own settings file. This is described here: https://docs.djangoproject.com/en/1.3/topics/settings/#default-settings

If you instead set it to an empty value, that's the value that will be used. Likely there are many settings that will give odd errors if this is done. I don't see that EMAIL_HOST is special in some way that Django's code should guard against an "improper" setting and fallback to the default in spite of what's been set in the local settings file. Which implies if we were to "fix" this case, we should "fix" all such settings where an empty value would likely never be correct, and make them fallback to their defaults. Which I don't think we want to do.

Add Comment

Modify Ticket

Change Properties
<Author field>
Action
as closed
as The resolution will be set. Next status will be 'closed'
The resolution will be deleted. Next status will be 'new'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.