Speckle server email without authentication

Hi All,

I am deploying a speckle server instance with docker, all is working well except email.
Mail server on the host VM is at localhost, port 25 and does not require authentication.
I am using the example docker-compose from the docs, and have added the following lines.

  S3_ENDPOINT: "http://minio:9000"
  S3_ACCESS_KEY: "minioadmin"
  S3_SECRET_KEY: "minioadmin"
  S3_BUCKET: "speckle-server"
  S3_CREATE_BUCKET: "true"

  EMAIL: "true"
  EMAIL_HOST: "127.17.0.1"
  EMAIL_PORT: "25"
  # EMAIL_USERNAME:
  # EMAIL_PASSWORD:
  EMAIL_FROM: "speckle@***********"

  
  WAIT_HOSTS: postgres:5432, redis:6379, minio:9000

When running docker compose up I get the following error:
Email provider is misconfigured, check config variables.
I have tried both commenting out the user and password and leaving the values empty.

My question is the following could error be caused by not providing authentication.
Thank you in advance.

Vince

1 Like

Hi @VinceH! I run my local dev server fine without email, albeit without docker. If you don’t need email (password resets and server invites won’t work), you can just set email to false and comment out the rest of the variables.

If you need emails, my take on it: local email servers are always a pain, and email will most likely never get delivered, so I’d set it up with one of the many providers out there. We use mailjet (free for 200emails/day), or sendgrid (used in the past), or any other you fancy. If AWS, they have a simple email service too!

2 Likes

Hey @VinceH,

i agree with @dimitrie on running your own mailing system is probably not what you’d want to do. Even with using mailjet we’re running into a lot of trouble where emails are being blocked by corporate spam filters.

But if you really want to / need to use a local smtp server, I’ve replicated your setup with MailSlurp. The config below works for me, where username and password are specified as empty string values.

image

2 Likes

Hi All,

Sorry for the delay in reply, I have been working on something else for the past few days.
Thank you for your responses. :grinning:

I do require email as this will be a production deployment.
Ideally I would like to use the prexisting mailserver that is running on the same VM as the Speckle containers, that being said if using mailjet makes things easier I will give that a go. (I presume the API key is the username and the secret the password)

@gjedlicska I have tried the settings that you provided in your example but I am still getting the same error. Could clarify if the EMAIL_HOST field is in reference to inside the container (127.17.0.1) or outside the container namely to the host (localhost or 127.0.0.1) from your example it looks like it is the latter. Just want to make sure I understand this correctly.

Thanks again for the help and advice.
Vince

Hey @VinceH

my example was referring to localhost as in 127.0.0.1, because i’ve exposed the local mail server that way. So this could be your mailserver in the VM.