Setting up Automated Mailing in Canvas LMS: A Quick Guide

I was exploring StackOverflow and noticed this was a common issue. After a few explorations of my own. I found the answer.

Configuration

sysadmin@appserver:/var/canvas$ sudo vi config/outgoing_mail.yml

You’ll need to replace the production part with something along the lines of the following. If you’re using Gmail, you will need to create an application password. More information on that is provided in the bottom of this post.

 production:
    enable_starttls_auto: true
    address: smtp.gmail.com
    port: 587
    user_name: USERNAME@gmail.com
    password: PASSWORD
    authentication: plain        # plain, login, or cram_md5
    domain: smtp.gmail.com
    outgoing_address: USERNAME@gmail.com
    default_name: Instructure Canvas

Automated Jobs Daemon

You first must set up the Automated Jobs Daemon with the following:

sysadmin@appserver:/var/canvas$ sudo ln -s /var/canvas/script/canvas_init /etc/init.d/canvas_init
sysadmin@appserver:/var/canvas$ sudo update-rc.d canvas_init defaults
sysadmin@appserver:/var/canvas$ sudo /etc/init.d/canvas_init start

Update Configuration

If for whatever reason you need to update the configuration.

sysadmin@appserver:/var/canvas$ sudo /etc/init.d/canvas_init restart

Setting up Gmail for Outgoing Mail

Regarding setting up outgoing mail through gmail:

This might be a new update, but in order for the mail to work correctly, you have to set up an application specific password with Gmail. There are a ton of tutorials online on how to do that… here it is from Google:

https://support.google.com/accounts/answer/185833?hl=en

Troubleshooting

If you’re having any issues, delayed jobs daemon sets up a log file that you can search through

sysadmin@appserver:/var/canvas$ sudo vi log/delayed_job.log

Hope this helps anyone that needs it