civiform / civiform

CiviForm simplifies the application process for government benefits programs by re-using applicant data for multiple benefits applications. It's being developed by Google.org and Exygy, in collaboration with the City of Seattle and community contributors.
https://civiform.us
Apache License 2.0
98 stars 61 forks source link

Ability to customize sender email on status updates #3698

Open elisekalstad opened 2 years ago

elisekalstad commented 2 years ago

Is your feature request related to a problem? Please describe. As a program admin, I want to be able to include my program-specific email address as the "sender" on any status change emails, in case there are questions.

Describe the solution you'd like Program Admins should be able to specify a "sender" or "from" email address, so that if a resident responds to an email about a change in their status, the program can response to it.

If a Program Admin does not wish to include a "sender" email address, the default sending email address will show an error message, if a resident applies (see request to update the bounce message: https://github.com/civiform/civiform/issues/3697)

Additional context With the new status feature, residents will get additional email alerts. The program staff would like the option to have the status emails come from a program-specific email (such as treeprogram@seattle.gov) so that a resident can respond and interact directly with staff.

A mock-up is attached. Custom Sender on Status Messages.pdf

Done when CiviForm Admin can add a program-specific email address in the "FROM" line on all statuses.

elisekalstad commented 2 years ago

@cassandralfernandes: Program Staff are very excited about the STATUS feature! They're wondering if it might be possible to add a "sender" email too. Perhaps for a future iteration of the STATUS feature? What do you think @shanemc-goog ?

shanemc-goog commented 2 years ago

It's certainly doable. The current from address is that same as all other emails the system sends like the acknowledgement they applied. I do wonder if we need a UX eye towards user expectations for the different emails they do and may end up receiving from applicants, possibly here we want the reply-to to be the program admin.

@elisekalstad do you believe all Program Admins that are setting statuses should be able to provide any email, or do you believe the CiviForm Admin should be the one to set? it similar to how they create the statuses.

elisekalstad commented 2 years ago

@shanemc-goog Good question! I think the CiviForm Admin should be able to set the "sender" email when they create/edit statues.

shanemc-goog commented 2 years ago

@elisekalstad And to be clear would the program admin's be able to change that or not?

elisekalstad commented 2 years ago

@shanemc-goog Good point of clarification! I picture the same flow as the Status Feature; that is, the CiviForm Admin is the only one who can set or change the email. (But obviously the Program Staff need to communicate the request).

hicksjoseph commented 2 years ago

It seems like a good idea to have a Program specify both a specific "Reply-To" name and email address. I am wondering if we should focus on the standard email header of "Reply-To:" vs "From" to avoid any sending mail server validation issues. It also seems like a good idea to enable the Program admin to change the "Reply-To" name and email address for their Programs. Are there any potential security concerns with Program admins setting this email address (just wondering if there would be any problem if the address was set incorrectly or if the address sent emails to a malicious actor).

Here is more information on "Reply-To" and other important mail headers: "When you send an email to a subscriber and they click 'Reply', the reply message is typically sent to the email address listed in the From: header. A Reply-To address is identified by inserting the Reply-To header in your email. It is the email address that the reply message is sent when you want the reply to go to an email address that is different than the From: address. In the example below, 'service@sampledomain.com' is the Reply-To address. When a subscriber clicks 'Reply', the reply message is sent to 'service@sampledomain.com' instead of 'marketing@sampledomain.com'.

From: marketing@sampledomain.com to: aaasample@zzzexample.com Reply-To: service@sampledomain.com"

https://help.returnpath.com/hc/en-us/articles/220568427-What-is-a-Reply-To-address-

"From This property indicates the original email sender. This is what you see as the "FROM" in most mail clients.

Reply-To This property indicates the reply address. Basically, when the user clicks "reply" in mail client, the Reply-To value should be used as the recpient address of the replied email. If you don't set this property, the Reply address is same as From address." https://www.emailarchitect.net/easendmail/sdk/html/object_from.htm

hicksjoseph commented 1 year ago

Maybe this could be implemented first at the CiviForm admin level and see if that fulfills requirements. If not, we can then gather further requirements.