add flexible emailing

Ticket

+commit
 

Cases we want to handle with a unified email system:

  1. (current) customizable main messages and account info email "inclusions" for:
    • creating account
    • inviting user
    • accepting request
    • handling forgotten passwords)
  2. (current) change notifications
  3. (current) account request notification
  4. forms that send email to explicit email address
  5. forms that send email to list of addresses referred to by search or pointer
  6. ability to email any card

 

Set cards can have a +*send setting that points to one or more Email cards.  Upon creation, any card with a *send setting will send out email(s) accordingly.  When Email cards are sent in this context, "_self" will be interpreted as referring to the newly created card.

 

Email cards can have these fields:

  • *to
    • phrase (email address)
    • pointer - points to cards with accounts
    • search - returns cards with accounts
  • *cc (same as *to)
  • *bcc (same as *to)
  • *from - defaults to current user.  if explicit, works like to.
  • *subject
  • *message
  • *attach

Email cards can also be used to send single emails

 

Note:

  1. change notifications are *not* stored as cards! (can you spell recursion?)
  2. all relative urls must be absolutized
  3. need to embed 'new' view inside other cards, make redirect work
  4. configure redirect after save (*thanks) via pattern?
  5. we may want some sort of "confirm" option (or some way to turn all emails off) so that lots of bogus emails don't get sent during configuration.

Questions:

  1. how can we make it easy to switch between cardtypes on to, cc, bcc, and from?

 

 

(stuff on an etherpad somewhere)


from Kevin: need to be able to paste in long lists of emails

also: cool email addressing widget: i.e http://www.plaxo.com/api/widget_demo

  --Lewis Hoffman.....Fri Jan 15 13:51:47 -0800 2010


I think before we close this ticket we should have a plan for when we want to be able to move a bunch of our hard-coded configurations over to the new style

  --Ethan McCutchen.....Wed Feb 10 14:31:54 -0800 2010


Shouldn't this be something other than a Basic card?

 

http://test.dwagn.org/wagn/emailtest%2B*right%2B*send

  --John Abbe.....Thu Apr 22 11:57:33 -0700 2010


I created this: http://test.dwagn.org/wagn/email_example+*right+*send and then treid to create http://test.dwagn.org/wagn/a%2Bemail_example but it gets an Application Error. Hoptoad says Net::SMTPSyntaxError: 501 5.1.3 Bad recipient address syntax

  --John Abbe.....Thu Apr 22 12:01:01 -0700 2010


right now *send needs to be a pointer to an email configuration (that's the default that was supposed to get migrated). That way you can have multiple emails triggered by a single creation, which is often important.

 

Lew and I have been discussing changing the way this and *layout work, such that if it's a pointer, you follow it to the item value(s). Otherwise, use it as the setting.

 

In any case, we won't have this fixed in 1.4, but we will try to make it so that you get a better error. Thanks!

  --Ethan McCutchen.....Thu Apr 22 17:09:55 -0700 2010


Okay, there seems to be something broken with the main functionality, unless i'm not understanding something about how this is supposed to work. I created http://test.dwagn.org/wagn/email_example+*right+*send and filled out what seemed like the necessary bits in http://test.dwagn.org/wagn/email_example+*right+*send (and +*to is Phrase now) and then created http://test.dwagn.org/wagn/moo+email_example but when i clicked submit, got an Application error. Hoptoad still says Net::SMTPSyntaxError: 501 5.1.3 Bad recipient address syntax.

  --John Abbe.....Fri Apr 23 20:49:05 -0700 2010


One thing that strikes me as odd is that inclusions on http://test.dwagn.org/wagn/email_example+*right+email_config+*message are rendering as the markup rather than as the actual inclusions.

  --John Abbe.....Fri Apr 23 20:52:46 -0700 2010


I think the application error is probably because it's from "moo", which is not a legitimate email address.

 

Re the inclusions not rendering, we decided to render the markup (like on forms) because most of the inclusions used there are relative (like on forms) but not relative to the card you're actually editing (like on forms). In this case, when you create a card, "self" is treated like the card you're creating, not the configuration card.

 

Eg. sometimes the +*message is just {{_self}}, which makes sense as a configuration card, but it would render recursively if we did it when you're looking at the configuration.

  --Ethan McCutchen.....Fri Apr 23 23:11:56 -0700 2010


Re moo - nope, i fixed http://test.dwagn.org/wagn/email_example+*right+email_config+*from and still get the same error.

 

The inclusions thing makes sense - i was trying to discover if it worked that way.

  --John Abbe.....Fri Apr 23 23:46:31 -0700 2010


Had a random thought that maybe something like http://test.dwagn.org/wagn/new_email_test+*right+*send should point to _LL+email config -- http://test.dwagn.org/wagn/new_email_test+email_config -- instead of _left+email config, but got the same error.

  --John Abbe.....Sun Apr 25 13:45:28 -0700 2010


Are we calling this flexmail, or flexible emailing, or...?

  --John Abbe.....Sun Apr 25 14:15:45 -0700 2010


flexmail in the code. not sure we have an interface-level name for it...

  --Ethan McCutchen.....Sun Apr 25 16:17:09 -0700 2010


The idea is that other features — e.g. notifications, the triggers/scripting cards whenever we get those — will be able to send email, right? All using "+email config"? Just trying to make sure i get the intended scope of the feature before really diving into a name inquiry.

 

Ah, double-clicking in the comment box, just for the fun of it!

  --John Abbe.....Sun Apr 25 16:27:54 -0700 2010


The idea is that all of our system emails will be achieved through *send. Not sure what you're calling a trigger... Email config is just an arbitrary name. The setting name is *send. Whatever it points to configures the email. We happened to use "email config" on English and in the migration to have an example, but we haven't actually used that name in any of the actual use cases (see policyninja)

  --Ethan McCutchen.....Sun Apr 25 21:42:34 -0700 2010


code is choking on "_left+email config" but worked fine with "send me" (see http://test.dwagn.org/wagn/new_email_test+*right+*send )

  --John Abbe.....Mon Apr 26 15:49:12 -0700 2010


Just noticed that +*attach is defaulting to Phrase, when i presume it should be Pointer. I've made the edit to English, and added +*options to Search for File cards, so *attach+*right+*default and *attach+*right+*options need remigrating. http://en.dwagn.org/wagn/*attach+*right

  --John Abbe.....Mon Apr 26 17:01:25 -0700 2010


Now documented at flexible email. While messing with that, discovered that if no from address is given, no email is sent. How about default star-send email from Wagn Bot ?

  --John Abbe.....Mon Apr 26 17:27:00 -0700 2010


Also, the link view does not result in a working link. For an example, add your address to the card below then add an Event. If we're not fixing this now, i'll add: Fix links in flexible emails.

 

  --John Abbe.....Mon Apr 26 17:30:57 -0700 2010


I kinda think we should fix it now. probably has to do with some sort of naked override?

  --Ethan McCutchen.....Tue Apr 27 10:44:05 -0700 2010


I assume you mean about links in emails. How about defaulting emails from Wagn Bot if there's no *from?

  --John Abbe.....Tue Apr 27 10:55:41 -0700 2010


sure, that's easy. let's do that.

  --Ethan McCutchen.....Tue Apr 27 10:58:04 -0700 2010


can we close this and gather any remaining issues into new tickets? This is a 1.4 ticket :)

  --Ethan McCutchen.....Fri Apr 29 08:56:12 -0700 2011


closing because I don't know what's broken.

  --Ethan McCutchen.....Sat Mar 24 03:57:03 +0000 2012