1. What is the problem? Be very detailed.
I've just managed to successfully set up and ODK Central Server on Amazon Web Services! Unfortunately, when I create new Web Users in the backend, they don't get emails notifying them that they have an account. Similarly if I click to reset their password, they do not recieve these emails either. We've tried using our personal and professional email addresses and have checked the Junk/Spam folders which are empty. It would seem that the emails are not getting sent. How can I determine where things are going wrong? (e.g. log files, config files etc)
2. What app or server are you using and on what device and operating system? Include version numbers.
I have installed ODK Central v1.0.0 onto an Ubuntu 16.04 operating system on Amazon EC2 t2.micro instance. I installed ODK Central following the instructions for EC2 listed here: https://docs.getodk.org/central-install/
Note that I did not follow the instructions for "Using a Custom Mail Server" that are here provided here: https://docs.getodk.org/central-install-digital-ocean/
because I understood the instructions to mean that there is already a basic webserver setup in ODK Central (please correct me if I am wrong).
3. What you have you tried to fix the problem?
I have tried searching the forums for this issue, but haven't found anyone posting the same problem. I have tried creating a number of user accounts using different email services and none of them work.
Hi Saad, are you using Amazon EC2 for your ODK Central server? That's my current setup and where I hit this problem originally. After a lot of reading I found out that most email servers block emails that are being sent from EC2 servers because it's commonly used for spam and scams. I haven't had time to find a good work around for this on EC2 yet, but I think Amazon offer some sort of trusted email service that can be set up from within the AWS Console.
Thanks to everyone for the suggestions too. I'm really loving this community.
Thanks for the reply. Yes, I am using AWS EC2, and your diagnosis might be very true. I will check for relevant things on AWS. The strange thing is that I don't see this activity and its associated actions (password reset + sending email) in the system audit logs on central. Assuming that everything is fine on Central side (since email server is an external entity), the system should generate a line item about this activity. Can anyone confirm if they have ever seen any log item in audit logs for this?
Hi all,
I am having the same issue like Dan and Saad have narrated above.
a. Despite using ses credentials and verifying identities on aws, Central is not able to send mails out to users.
b. It seems Central is not able to provide logs when custom mail server is used
c. When a custom mail server (aws ses) is used all I get is "Something went wrong: the server returned an invalid error."
d. I seems aws ses wants all receivers email addresses to be verified as well.
e. Below is a section of 'docker-compose logs --tail 50 service' command.
Possible solution: "docker-compose ps" shows that mail is perpetually on port 25 despite whatever port that is configured in files/service/config.json.template. while port 25 is highly restricted on AWS EC2 by default.
For Central running on digital ocean with the domain (actually sub domain) on namecheap the solution for this problem was adding the subdomain in the SPF record on namecheap (include: spf.subdomain). If anybody still has this problem. Actually is not even a problem but maybe it should be included in the installation guide.
Note that email delivery is a tricky problem and it's unlikely DKIM/SPF from your IP will be enough to guarantee delivery to a wide range of domains. That's why we suggest dedicated mail providers in the users aren't receiving emails section of our troubleshooting guide. That link is also highlighted at the bottom of the Logging into Central section of the installation guide.
We do document setting up DKIM and SPF. It sounds like you didn't find that document. Any suggestions on where we could put it to make it more visible?