DISCOURSE_SMTP_ADDRESS: smtp.sparkpostmail.com
#DISCOURSE_SMTP_PORT: 587 # (optional, default 587)
DISCOURSE_SMTP_USER_NAME: SMTP_Injection
DISCOURSE_SMTP_PASSWORD: API keys( working with curl test)
## If you added the Lets Encrypt template, uncomment below to get a free SSL certificate
#LETSENCRYPT_ACCOUNT_EMAIL: me@example.com
- exec: rails r "SiteSetting.notification_email='noreply@myownweb.com'"
SMTP uses port 25, but SSL/TLS encrypted SMTP uses port 465.
Many sites now disable plain IMAP (port 143) and plain POP (port 110) altogether so people must use an SSL/TLS encrypted connection. By disabling ports 143 and 110, this removes completely STARTTLS as even an option for IMAP/POP connections.
The one real exception to the above is SMTP. However that’s for a different reason again. Most email software used SMTP on port 25 to submit messages to the email server for onward transmission to the destination. However, SMTP was originally designed for transfer, not submission. So yet another port (587) was defined for message submission. Although port 587 doesn’t mandate requiring STARTTLS, the use of port 587 became popular around the same time as the realisation that SSL/TLS encryption of communications between clients and servers was an important security and privacy issue.
The result is that in most cases, systems that offer message submission over port 587 require clients to use STARTLS to upgrade the connection and also require a username and password to authenticate.
Currently, things seem relatively randomly split between people using SMTP SSL/TLS encrypted over port 465, and people using SMTP with STARTTLS upgrading over port 587.
I went ahead and made the port selectable in the ./discourse-setup script, with a value of 587 as the default that gets written to the app.yml file. That way we are no longer relying on implicit defaults, the app.yml will have the actual SMTP port specified.
(For the record, I’ve used the default – that is, leaving that line commented out – with mailgun and mandrill for ages and never had issues. But I think it’s best to be explicit here.)