Here's text from that FTC site that makes me believe our course emails  are transactional:

Q. How do I know if what I’m sending is a transactional or relationship message?
A. The primary purpose of an email is transactional or relationship if it consists only of content that:  (IRRELEVANT lines elided)

facilitates or confirms a commercial transaction that the recipient already has agreed to;
gives information about a change in terms or features or account balance information regarding a membership, subscription, account, loan or other ongoing commercial relationship;
delivers goods or services as part of a transaction that the recipient already has agreed to

The "From" address of these course emails is someone from the instructional staff of the course (the prof or TA), and I think that messages from the instructors fall under "goods and services" that a student agrees to when they sign up for a MOOC.  And if the emails are transactional or relational, then:

If it contains only transactional or relationship content, its primary purpose is transactional or relationship. In that case, it may not contain false or misleading routing information, but is otherwise exempt from most provisions of the CAN-SPAM Act.

All that being said, once we have the marketing emails done, where optout uses a per-email-address random string as identifier (unrelated to the other random identifier tied to SECRET_KEY, BTW), we could try to make that approach work for opting out of course emails as well.

On Jul 31, 2013, at 9:14 AM, Sef Kloninger <notifications@github.com> wrote:

> In lms/templates/emails/email_footer.html:
> 
> > @@ -0,0 +1,6 @@
> > +<%! from django.core.urlresolvers import reverse %>
> > +<br />
> > +----<br />
> > +This email was automatically sent from ${settings.PLATFORM_NAME} to ${name}. <br />
> > +You are receiving this email at address ${ email } because you are enrolled in <a href="${course_url}">${ course_title }</a>.<br />
> > +To stop receiving email like this, update your course email settings <a href="https://${site}${reverse('dashboard')}">here</a>. <br />
> We implemented this the same way we had done it on Class2Go:
> 
> Course emails take you to the site. Since these are transactional emails (you've opted into a course) then we feel that's fine. That's the feature implemented here.
> 
> List emails are using the same mailing backend, but sent to arbitrary mailing lists. This is what we us for sending out mass mailings, usually commercial mails. You explicitly have to upload a CSV with {name,email} and then we'll send directly to them. And for those we will have a one-click unsub, just hitting an endpoint with an opaque userid. Since those are unsolicited commercial email (no opt in has taken place) that meets the one-click criteria.
> 
> This is what's captured in the stories for this feature.
> 
> I guess we could have done both with the token mechanism, but instead of choosing to rethink the feature, the original requirements we had were "do what Class2Go did" so that's what @kluo did.
> 
> —
> Reply to this email directly or view it on GitHub.
>