Configuring mailjet as email provider for Speckle server

Hi Community!

I have just deployed a Speckle droplet in DO and I have a ‘verification email’ banner that I can’t get rid of since I haven’t setup a mail server.

I’ve heard mailjet is a good option to use a service provider but I’m having some issues configuring it…

Can someone please give me some pointers as to how I need to setup mailjet to configure my speckle server? Thanks in advance!

1 Like

Hi @janx
Welcome to Speckle’s community!

You will need to edit the docker-compose file you used to run the server in the Digital Ocean droplet, and provide Speckle Server with the following environment variables. The values of which you can retrieve from your email server provider:

EMAIL: 'true'
EMAIL_HOST: 'yourhost.example.org'
EMAIL_PORT: 'emailport'
EMAIL_USERNAME: 'yourusername'
EMAIL_PASSWORD: 'yourpassword'

Hope this helps!

1 Like

thanks @iainsproat!

I’m not quite familiar with mailjet or mail providers and I was wondering if you could point me to a guide or with your experience of setting this up on the mailjet side to setup the required values?

I’m not personally familiar with mailjet, but I believe step 1 of their Getting Started guide to create an account and then create an API token is all you require:
https://dev.mailjet.com/email/guides/getting-started/

Once you create the account, I believe the following can be used in the environment variables:

EMAIL: 'true'
EMAIL_HOST: 'https://api.mailjet.com'
EMAIL_PORT: '443'
EMAIL_USERNAME: 'your_mailjet_api_key'
EMAIL_PASSWORD: 'your_mailjet_api_secret'

Though this is just an educated guess, and I may be proven wrong! (Maybe someone who is more familiar can correct me!)

Hey @janx

in your account settings, there is a page to SMTP and Send Api settings

Looks like this:

you need to create an api key first, that you will use as the email username and password

use the SMTP server as the EMAIL_HOST and make sure you are using the right port.

Also make sure, to verify your sender address in mailjet, it doesn’t let you send mails from an address that can’t be verified it belongs to you.

Hope this helps :slight_smile:

2 Likes

@gjedlicska thank you so much for this detailed info!

However it still doesn’t work :frowning: In spite of having validated the sender email address I keep getting an email form mailjet: A non-validated sender address was used on your account

Is there maybe any other way to validate emails in the server or manage invitations?

@janx - Mailjet suggest that validating the email should be sufficient

If you continue to have problems with MailJet email validation, you might need to reach out to their support channels directly.

I’m still struggling a bit with this. @gjedlicska @iainsproat Is it possible to manually add collaborators to the server without an email invitation? Or manually validate them if invited?

Hi @janx

Have you tried another email provider instead of MailJet? It may be the more straightforward way of resolving your issue.

As far as I know, we don’t have a way of listing invitation links (or the invitation tokens) in the UI. I think that you would have to send a graphql query to the /graphql endpoint of your server. The graphql definitions can be seen in our source code.

Hey @janx

Here are some alternatives for you to check out.
I suggest starting with mailgun, but unfortunately we have limited experience with these services.