Self-Hosted Canvas SMTP Issues

182 views
Skip to first unread message

Shawn Brown

unread,
Oct 14, 2023, 11:46:59 AM10/14/23
to Canvas LMS Users
It seems like this is something I see quite often but none of the fixes appear to help. Here is my story...

I am on a self-hosted server at AWS, recently hired in to get everything working after the previous admin quit. I have been able to get into the system, reset the system admin password and pretty much do everything else needed. The only issue I have is sending email. We are setup to use AWS Simple Mail Service. I have verified that I can connect through telnet, implicit and explicit SSL utilizing the following:

https://docs.aws.amazon.com/ses/latest/dg/send-email-smtp-client-command-line.html

I have changed the outgoing_mail.yml a dozen times moving from 587 to 465.

When I look at the jobs under site admin, everything has moved out. No errors.
When I look at the messages table in the postgres database, the forgot password email is listed so it is writing this out.

If I look in logs, I don't see anything in the canvas_errors.log, ufw.log does not show any blocks for SMTP traffic, delayed_job and production have no clues either.

Where else can I look? Any ideas?

Nicolas Lopez

unread,
Oct 17, 2023, 8:28:24 AM10/17/23
to Canvas LMS Users
This is how our config looks like for SES:

production:
  address: "email-smtp.us-east-2.amazonaws.com"
  port: "587"
  user_name: "ABCDEFG"
  password: "ABCDEFG"
  authentication: "plain" # plain, login, or cram_md5
  domain: "ourdomain.com"
  outgoing_address: "notific...@ourdomain.com"
  default_name: "The name we use"

The configuration of the credentials and the autentication is a bit tricky in AWS, I would check if SES works properly from another application, an easy option is to use Outlook or any other SMTP client. 
And just in case, don't forget to restart the jobs after changing your outgoing_email.yml (sudo /etc/init.d/canvas_init stop and start)

Not sure if the email sending limitations of EC2 could be also an issue, there is a link to remove it: https://docs.aws.amazon.com/ses/latest/dg/smtp-connect.html

Hope it helps.

Nico

Shawn Brown

unread,
Oct 18, 2023, 9:03:08 AM10/18/23
to Canvas LMS Users
Thank you..... Yes, that's the same that I had. Since this has happened, I have went ahead and started over with a new canvas system using the Production guide. My assumption is the previous admin used the Quick guide as I can't find anything anywhere to cause the issues. 

Now the big question is how to import the data from the old database into the new. Specifically, the People and Courses.  I have sectioned out the directories (tmp, config, assets, etc.) that need to be present but need to populate the new database. I have verified email is working properly without any issues whatsoever now.

Would it be as simple as exporting the data from the tables and importing back into the new? If so, which tables?

Shawn Brown

unread,
Oct 21, 2023, 1:07:48 AM10/21/23
to Canvas LMS Users
I did get this up and running correctly. Ended up copying the old production data into a new database, exported the data with insert statements and then imported them into the new server's canvas lms database. All data moved over and I was able to redirect the elastic ip (AWS) to the new instance. eMail flows fine and all access is now working. Now to wait for the gremlins.
Reply all
Reply to author
Forward
0 new messages