Here is how I leveraged email

Created Monday 27 April 2015

When you think about it, 90% of what you need for interacting with students online is covered by email. Mass email for announcements, Individual email for feedback. Email is really good for turning in assignments, you have a timestamp, and they no longer have any excuses for late work (after all, if there's a problem, they can email you.)

One thing that the bloated school CMS' like Canvas and Blackboard do well, though, is the automation of assignments and handing out grades. That is, you'd probably like to enter grades once in a gradebook (spreadsheet) and then send them out. Here is how I did that WITHOUT the above — and instead with a little Bash scripting, Email (specifically Thunderbird), LibreOffice Calc or Excel. (You may not even need that, we're going to use simple CSVs)

So, you get your grades and email addresses into a simple spreadsheet. I think the best idea is just "always work with copies." — that is, have a "main" spreadsheet for your grades and then simply copy the fields you need into a new file. Save as CSV. Then, if you use Thunderbird, you can use a script like the one below to do a mass email / mail merge type deal. The bug-that's-a-feature part of this is that it forces you to send each email individually. You could probably automate that, but I don't think it's a bad idea to look over each email individually (that being said, I've got this thing to first or alternatively spit out a big test text file.


# Quick wrapper for a thunderbird test script:

# If you have multiple Thunderbird accounts, you will need to figure this out. check about:config and search "useid"


rm $dryrun

#### Here's the loop  - on "while read" get yo fields right ######
while read rawscore finalpercent email name

# Student ID doesn't contain full email, let's fix that 	
subject="Underlava Basket Weaving 101 - Final Quiz Results"
body="Final Quiz:

Your results are as follows. These results (along with this entire email) have been autogenerated by a script. 

Number correct:${rawscore}
Final Percentage:${finalpercent}

### The dry run -  one file, bunch of tests:

echo "******************************************************" >> $dryrun
echo "TO: ${to}  (real name not shown: ${name} ) " >> $dryrun
echo "" >> $dryrun
echo "     SUBJECT: ${subject}" >> $dryrun
echo "" >> $dryrun
echo "---" >> $dryrun
echo "${body}" >> $dryrun
echo "" >> $dryrun

##THE EMAILS. Comment this out and only do the dry run for testing.
thunderbird -compose "preselectid='${preselectid}',from='${from}',to='${to}',subject='${subject}',body='${body}'"

done < $INPUT

#the below just auto-opens the example
gedit $dryrun & gvim $INPUT

Backlinks: How I use technology