Problems creating new users in new ghost installation due to mail configuration

Hello everybody.
I’am new to the forum and to ghost.

We are a spanish Photography community with a forum running discourse.
We needed a front page blog (discourse does not have one like our old vBulletin) so we are tying ghost, which seems a beatifull and simple blogging system that can be integrated with discourse.

We are going to install discourse and ghost in the same virtual machine, and we want to isolate them using docker (in order to prevent compatibility problems and you know discourse distributes the software in a docker container).

We have installed ghost using docker-compose and the docker ghost 3 container distributed in docker site, creating the docker-compose.yml file.

The problem Is that mail seems not to work, and thus we cannot create new users as they cannot receive the invitation.
The problem seems to be related to openssl libraries.

This is the content of our docker-compose.yml file:

version: '3.2'
services:
    ghost:
         image: ghost:3
         restart: always
         ports:
              - 2368:2368
         volumes:
            - /var/ghost3/content:/var/lib/ghost/content
         environment:
              name: portada.ojodigital.com
              url: https://portada.ojodigital.com
              mail__transport: SMTP
              mail__options__service: 1und1
              mail__options__host: smtp.ionos.es
              mail__options__port: 587
              mail__options__secureConnection: 1
              mail__options__auth__user: someemail@somewhere.com
              mail__options__auth__pass: theProperPassword

When we try to invite a new user and send the email, we receive an error complaining about ssl3 wrong version number:

 Error sending email! Error sending email: Failed to send email.
 Reason: 140664620582784:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:../deps/openssl/openssl/ssl/record/ssl3_record.c:332: .
 Please check your email settings and resend the invitation.

Does any body know how to circunvent this issue?
What are we doing wrong?

I have discovered the problem and the solution.

The problem is that when tyou use secureConnection=1 the mail system (in node.js?) seems to try to connect using SSLv3.

SSLv3 is a deprecated protocol that thas some vulnerabilities and is exposed to POODLE attack.
So nginx.conf is usually configured to disble SSLv3 protocol and thus the error.

You can change nginx.conf in order to activate the protocol, but it would let you exposed to attacks.

So I read about another solutions: use TLS. (Send email with Ghost using SMTP authentication and TLS encryption - Windows Server - Sysadmins of the North)

To do that you just configure secureConnection=0. The mailer tries stablishes an unsecure connection to the mail server, and if it demands an secure connection, they negotiate the protocol and cyphers.

2 Likes

To make things crystal clear:

"port": 587,
"secure": false,