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:
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:
@gjedlicska thank you so much for this detailed info!
However it still doesn’t work 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?
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?
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.
I’m trying to setup a server using the one-click Digital Ocean droplet method. All seems to be working well except for this. I am definitely not an expert but I’ve tried a few ways of inputting email information using the setup.py method and none of them seem to work out. I can’t work out how to view the yaml file that is being used by the droplet. Any help/advice much appreciated.
When starting the Droplet, the script will generate a docker compose file. If you are ssh’d in to the DigitalOcean Droplet, this can be found at /opt/speckle-server/docker-compose.yml.
Both vim and nano are available as editors on the Droplet so you can run, for example, vim /opt/speckle-server/docker-compose.yml to view and edit the docker compose file.
The docker compose file should look somewhat similar to the following, depending on your own specific provider & account details:
You can then view the logs for a specific container using its container ID, for example docker logs 5fbf9741c881 to view the server logs to determine if there are any reported issues with email. You can do more with Docker’s log command using the flags described on their website.
Have setup everything as best I understand the requirements. Have also tested the mailjet smtp setup separately (and it seems to be working). Still no emails being received from speckle for user invites etc. Can you kindly let me know which container log should i monitor to see whether the server is correctly sending? I am struggling to work out which one will report that behaviour.
Another avenue of investigation: does your email service provide logs or statistics? Does it report that a request to send an email was received, or other similar statistics?
Hi @iainsproat I found this line in the server log:
{“level”:“warn”,“time”:“2023-10-30T10:41:47.765Z”,“msg”:“No email transport present. Cannot send emails.”}