Problem/Motivation
Proper email procedure since at least 2010, is to have a "from" email and a "reply-to" email. Due to the spam spoofing measures etc, the industry has dictated that the "from" address must be from the originating domain and the "reply-to" address is naturally, the address that is being replied to. In the old days, sender was the sender. That logic doesn't work today. Sender today, is the serving email server, not the person who filled out the form. Reply-to, is the person who filled out the form, not the sender.
The way the UI is currently implemented, it is an absolute pain to get these setup unless you're in the module every day, dealing with handlers and know what's where. I, like most, set it and forget it, then struggle the next time I setup a new site because of how confusing it is.
The problem, is that the UI that handles the From and Reply-To, is very confusing and not well thought out.
The label "Send To", makes sense. However, the label "Send From" does not make sense because Send From is the server, not the person filling out the form. The "Reply To" is hidden away in the Advanced tab which is the real information you want to collect from the user. So, when setting all of this up, we care about the person filling out the form, not the server sending the email. Reply-To = customer, Send From = sending server.
When you move over to the Advanced tab, now you have Sender Email and Sender Name. Isn't this the same as From? So why collect it twice? Maybe there's a reason for it, but it causes even more confusion because is this "sender" the server we're talking about or the person filling out the form? In addition, from what I can tell there name of the customer because a field doesn't exist to capture the reply-to name. Is this supposed to be set on the "Send From -> Name" or "Advanced -> Sender Name" or is it truly not being collected?
Proposed resolution
My proposed solution is this:
1) Move Send From to the Advanced tab. Send From needs a description that explains it is the originating server, so an address like no-reply@yourwebsitename.com or any email that ends with the site's domain is preferred.
2) Move Reply-To into the General tab
3) Add a field to collect the "reply-to" name.
4) Get rid of the "sender email" and "sender name"?
Thoughts
I'm open to other ideas on how to go about fixing the UX on this, but I will be the first to say it is crazy confusing and needs some serious TLC.
| Comment | File | Size | Author |
|---|---|---|---|
| #16 | 3038159-16.patch | 6.11 KB | jrockowitz |
| #15 | 3038159-15.patch | 6.11 KB | jrockowitz |
| #12 | 2019-04-20 15_55_57-Contact-Defaults.png | 6.79 KB | philsward |
Comments
Comment #2
jrockowitz commented@philsward I agree that properly configuring email headers is challenging and the Webform module email handler UI does not help to remove any confusion. I am open to fixing this UX. I want to approach fixing the UX in two phases.
First, we need to add descriptions to all the email related fields. I would even be open to adding general email help text. We can use help tips, inline messages or slideouts.
Once we have added and updated the descriptions, I would be open to carefully re-arranging some elements. We can't remove the "sender email" and "sender name" because it could break people websites.
Do you have any resources you could suggest for understanding how to properly configure emails?
To proceed, we could create two tickets, one for editorial change and the other for UI changes.
Comment #3
philsward commented@jrockowitz I think the two phases are good and especially think some good help tips would benefit it greatly.
I think for the most part, we need to clarify who the "sender" actually is within the UX. That's where I think my biggest confusion comes in. I think of Send From as the person composing the email form because it's on the General tab, however Send From (in this case) is the email server. On the General tab we have details for the sender server (Send From) but not for the sender user (Reply-To).
Anywho, I don't have any docs off hand to point to but I'll do some digging and see what I can come up with.
Comment #4
jrockowitz commented@philsward Thanks. If you are not comfortable writing a patch, you can document the editorial changes and I will create the patch.
Comment #5
philsward commented@jrockowitz I'm clueless on the programming side, but I'll do what I can to help out :-)
Comment #6
philsward commentedGood general info
https://help.campaignmonitor.com/from-name-and-address
https://www.leadsparrow.com/blog/sender-name-best-practices-pitfalls#.XI...
Good info, not really helpful
https://glockapps.com/blog/email-deliverability-best-practices/#2
Great info
https://stackoverflow.com/questions/1235534/what-is-the-behavior-differe...
Here's a starting point for some info to better understand the lingo and what's-what.
First and foremost, I'm no expert on the matter of email, though I've got a fairly decent understanding. I may not be 100% correct in my understanding, but let's go with what I know and if things need corrected by someone smarter than me, that's fine.
Headers
Sender / From / Send From: We need to clarify that the sender (From: header) is the "Brand" or "Company" or "Website" that is sending the email. In regards to Webform, the Sender & Send From should be defaulted to [site:name] and [site:email]. This is background information and should NOT be in the foreground IMO. It's a great candidate for the Advanced tab because it contains settings that should rarely be changed by anyone. I say that, and after coming up with a few scenarios (below), It might make sense to poll the community and find out "how" they are using webforms: Collect customer info, reply to customer? Collect Lead info, reply internally? I can see where Send From does make sense on the General tab, but I believe that "reply-to" should also be there as well.
So, yes, you can use any From: address, however there are email hosting companies (Comcast for example) that will reject ALL email if the From: domain does not match the IP for the sending email domain (reverse DNS). In other words, if the server sending the email is sending from IP 1.2.3.4 and the From: header has a domain with the IP 5.6.7.8, some places will reject it because the two don't match. I quit using Hostgator shared servers for this reason because they use an email gateway system with countless IPs. The sender email IP address was NEVER the same as the "sender" (my website) IP which was causing webforms to get thrown into spam or black-holed.
This is why it is a very bad idea to use the customers information in the "Send From" area. From isn't the customer, From is the sending company. This is also why I feel like the Send From and Sender Name/Email in the Advanced area are redundant. They should both handle the "From" header if I'm not mistaken and setting the latter, simply overrides the former which is kinda pointless when you could have simply set the former correct to begin with...
Reply-To: This should be clarified as the email address that a person receiving the webform, will ultimately reply to. This CAN be the same as the From: address in a situation where a webform is used more like a lead generation form and a response would be sent to someone within the company.
If a webform is collecting customer information however, this should be set to the collected email address of the customer.
Example Header Scenarios
Webform Customer Contact
From: no-reply@fancywidgetsinc-fake.com
To: sales@fancywidgetsinc-fake.com
Reply To: sally.customer@_gmail_.com
Return-Path: bounced@fancywidgetsinc-fake.com
Webform Lead Generation
From: leads@fancywidgetsinc-fake.com
To: sales@fancywidgetsinc-fake.com
Reply To: head-of-leads@fancywidgetsinc-fake.com
Return-Path: bounced@fancywidgetsinc-fake.com
Current Thoughts
In my mind, the General tab should have the 3 main headers in this order:
That's a good start I think?
Comment #7
philsward commentedI'l note, the thing that's throwing me off the most with Send From is that it defaults to the collected Name and Email of the webform if I remember correctly...
In other words, Webform would default send From: sally.customer@_gmail.com instead of sales@fancywidgets-fake.com or whatever the backend site email address happens to be.
Like I mentioned before, From: "should" default to [site:name] [site:email]
On a side note, I personally believe the reply-to should always be added to the email, even if From: and Reply-To: are the same. Not sure if this is proper RFC standards, though I doubt it matters.
Comment #8
jrockowitz commented@philsward Thank you for doing this research. I agree with all your suggestions. I am going to dedicate some time to document this issue and the fix the tips/descriptions, tweak the UI, and change some of the default email settings.
Comment #9
philsward commentedThanks @jrockowitz
Last night, I added a new webform from scratch and noticed the Send To name and email, defaulted to [site:name] [site:email] which is the expected result.
I haven't had a chance to test it and wasn't going to mention it until I did test it, but may as well throw it out there that it may only be the automatically generated "Contact" webform that is present when you first install the module, that uses the Name and Email from the fill-able forms instead of the sites info.
Still, some better tips and help is warranted along with maybe moving things around like the reply-to.
Comment #10
philsward commentedBeen thinking about this a bit and simply throwing out an idea.
UX Naming
Send From - Help text for "Send From" would state something like: Send From is the actual sender of the email. This is usually the brand or email address of the website.
Form From - Help text for "From Form" would state something like: Form From is the email captured from the webform. This is usually the customer or incoming contact email that is collected from someone who submitted the form.
Comment #11
jrockowitz commented@philsward Thanks for the comment
I have been short on time and this is a tricky issue. I am hoping to get to it soon.
Comment #12
philsward commented@jrockowitz no worries. I know you're busy.
I've attached a screenshot of the pre-built "Contact" form settings which is where my original disconnect came into play that prompted this entire discussion. I do still believe that having the Sender plus the Form info in one area makes the most sense, but like I noted in a previous comment, a brand new webform does not default the Send From to the Form From tokens but instead, defaults them to the correct "Site From" tokens.
Keep this in mind when re-working things that the pre-built form has a major disconnect.
Comment #13
jrockowitz commentedBecause this requires the reworking of EmailHandler fields it should be posted until Webform 8.x-6.x
Comment #14
jrockowitz commentedReading over this issue, I think the key UX change is to move 'Reply to' from the 'Advanced' tab and before the 'From email/name'
With this change, we can update the labels and descriptions. For example, I am attempted to add hints to the labels by changing 'Reply to' to 'Reply to (organization/individual)' and 'From email' to 'From email (organization/domain)'.
Comment #15
jrockowitz commentedComment #16
jrockowitz commentedChanges include
Comment #18
jrockowitz commentedI committed the patch to 6.x. Please download the latest dev release to review.
We can easily make editorial tweaks as needed.
Comment #19
philsward commentedThanks @jrockowitz
Been a while since I've set one of these up, but look forward to seeing the changes.
Comment #20
philsward commentedOn a side note, I think 'Send from' to 'Send from (website/organization)' might make more sense as 'Send from' to 'Send from (website/domain)'
Sorry for being so late to throw in the suggestion :-/
Comment #21
jrockowitz commentedI agree with #20.
Comment #23
jrockowitz commentedDone!