Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'd like to know people's opinions, reactions to clients and technical work arounds (if applicable), to the issue of an enterprise application where a client wishes to use duplicate e-mail addresses?

To clarify, when I say duplicate e-mail addresses I mean within the same client system, having multiple users that have the same e-mail address. So not just using generic e-mail addresses but using the e-mail address of another user.

e.g.

Bob Jenkins: bjenkins@myorg.com

James Jeffery: bjenkins@myorg.com

Context

To give this some further context, in the e-learning sector it is common that although all staff in an organisation must complete e-learning - they may not have their own e-mail address so they choose to use their managers e-mail address.

Albeit against good practice in public sites... it's a requirement we've over and over again where an organisation is split between office based staff and perhaps e.g. staff in a warehouse.

Where problem lies

Mr Steak, good point, the problem lies in password resets and perhaps in situations where semi-personal information could be sent (not confidential enough to worry about the insecurities of email). Perhaps reminders for specific system actions, which would be confusing for the unintended party to see (if perhaps misreading the e-mail's intended recipient)

Possible solutions

  • System knowing the difference between a "for the attention of" and direct to the person e-mails, including this in the body text.
  • Using alternative communication such as SMS
  • Simply not having e-mails sent to people who are not the intended recipient.
  • Providing an e-mail service ourselfs (not really viable for a corporate IT dept)

Thoughts?

share|improve this question
3  
What do you mean by "duplicate e-mail addresses"? –  superM Oct 25 '12 at 13:24
    
Hi @superM thanks for the feedback, I've added clarification. –  Alex Key Oct 25 '12 at 13:50
    
Hi downvoters, I'm guessing because of the lack of clarification regarding duplicate e-mail addresses. Does this change improve things? If not please comment on how I can add further detail. –  Alex Key Oct 25 '12 at 13:51
1  
How on earth could that possibly work? –  Dirk Holsopple Oct 25 '12 at 13:53
2  
So where's the problem? I guess it's a problem because the email address is used for something important, like login to your application. Please clarify. –  sloth Oct 25 '12 at 13:57
show 6 more comments

7 Answers

I'd suggest this is a bit of a non-issue for the scenario you describe.

My answer will stay within the realm of your scenario of an e-learning site, supervisors who have access to corp email, and workers who neither access nor need corp email.

If the stickler is password resets, provide additional mechanisms to reset their password other than email. Challenge / response systems are a convenient way to do this. Allow the end users to pick from a large set of questions to where they would be the only ones (in that environment) who should know the answer.

If training reminders are an issue, then gear the reminders towards the supervisor. Provide the reminders in the form of a report. "These users are X days from being delinquent on training" or "These users are Y days from needing a refresher" or similar. Part of the supervisor's duties are to make sure their employees stay current on training. Make the reminder a report that simplifies their responsibilities.

Adding in the ability to receive text messages would be a bonus. Keep that as an opt-in only since most workers will not be issued corporate phones. Otherwise they will resent being forced to use personal property for company work.

Providing alternate email systems ignores the fact that the workers don't check email at work. If they did, they would have corp email accounts. The challenge to solve here isn't providing them with corp email accounts. The challenge is to provide some measure of authentication where email is not available for password changes and reminders.

share|improve this answer
1  
A very well thought out answer, thanks for your time. –  Alex Key Oct 25 '12 at 14:32
1  
Best answer specific to the situation described in the question. –  Mike Partridge Oct 25 '12 at 14:59
    
+1: However have you considered that if they share an email address they have taken the responsibility to manage confidentiality. Therefore it's not you problem. –  mattnz Oct 26 '12 at 0:00
    
@mattnz - that's a very good point re: confidentiality. I think for this use case, confidentiality is a non-issue as there isn't anything that's likely to be shared that would be sensitive. In other use cases, that may not hold true. And as you point out, the client is the one accepting responsibility for the usage so it's their call. –  GlenH7 Oct 26 '12 at 11:15
add comment

Not having a unique e-mail address for each registrant effectively eliminates e-mail as a an option of communication and as an option of identification. However, this is not the end of the world:

If you cannot use e-mail for communication or identification, don't ask for it at all

That's right, just skip e-mail altogether: as far as your application is concerned, it is perfectly useless.

Lack of an e-mail requires you to make two decisions:

  1. How do you identify a registrant, and
  2. How do you communicate with a registrant

The first question requires a registrant to provide something unique that is also external to your application. You may not ask for government-issued identification number, but an employee identification number issued by the corporation should be perfectly valid. This number can be used for password resets and other situations when unique identification is essential. Using a phone number should be another option, assuming that the corporation has the record of the phone number of each employee. Sending an SMS with a unique registration number to a phone number provided by the employee is yet another way of establishing the unique identity. If everything else fails, you can print a letter with a unique number for each employee, and send it to their home address or distribute them to employees through their supervisors.

Communicating back to the employee becomes slightly more problematic, because the "push" model of the e-mail no longer works. You can take the SMS route again, but you can also switch to the "pull" model, when you ask the employee to log back in after a certain period of time to check for communications intended for her or him. This is similar to the strategy that some tax preparation programs adopted, when users must check after 24 hours to see if their returns have been accepted.

share|improve this answer
    
Thanks, very insightful about identity. –  Alex Key Oct 25 '12 at 15:02
add comment

Email adresses should really be unique within a database. Creating an email adress is so trivial these days that every one should have its own. You stated all the reasons yourself to require a unique email adress per person :

Confidentiality

Just look at every possible website that requires registration. If you try to register with an adress that is already used, they don't let you create your account. Just do the same thing and everything will be fine.

Sure it also depends on the kind of information that your application will send by email. If you don't send any sensitive information, confidentiality will not be an issue. However, if you use it for logging in, then you cannot have multiple people with the same email.

But even if you don't send anything sensitive, I strongly advise you to require unique email adress. You don't know how your application is going to evolve and you might want to send such information in the future. Just take that precaution right at the start and it might save you lots of headaches later.

share|improve this answer
    
Thanks, good point. Focusing upon confidentiality could be a successful means of persuading the best option, I suppose then it's up to the organisation to determine the level of confidentially they require. Perhaps a nice way of implementing this is to have a confidentiality warning if it's detected that the same e-mail address is used. –  Alex Key Oct 25 '12 at 14:22
    
-1: Does not answer the question - just tries to rewrite the requirements to make the implementation easier. –  mattnz Oct 25 '12 at 23:56
    
@mattnz Well, with no obvious real question in the OP's post, you can't really say that I don't answer it... The post ends with Thoughts?. How can you judge that I don't answer the question? –  marco-fiset Oct 26 '12 at 11:21
add comment

My opinion, In this situation we can have two Emails (Db Columns - PersonalEmail & AdminEmail):

  1. Personal Email- Queries will be sent to the respected user.
  2. Admin/Support Email (For who doesn't have personal company email) - Queries will be sent to the company Systems Administrator/Support team who is responsible for the user accounts and who can also solve the user related queries within the organisation.

Cheers!

share|improve this answer
    
Is that the Arul? Hello Arul :-) Yeah, I was thinking a similar thing - I like it. –  Alex Key Oct 26 '12 at 9:13
add comment

If you have some people who are not allowed to have e-mail addresses, let them all share common ones. For instance:

shipping@yoursite.com

Or similar general addresses.

It still seems weird that you cant create e-mail addresses for people though, but I can see how some mobile people might not be able to log in and out of accounts constantly.

share|improve this answer
    
Interesting, thanks - having generic ones will allow it to be more obvious which are shared... however it would mean lots of generic ones, as the shared ones are typically only shared between a team and a manger. Thanks it would be an interesting option to help categorize data. –  Alex Key Oct 25 '12 at 14:33
    
Would it help if you provided the manager with 2 e-mail addresses instead of one? If the teams aren't named you can do Jim@yourcompany.com and jim.team@yourcompany.com ? You also say typically, does this mean there are multiple unpredictable variations. Is this something you can control? –  Tjaart Oct 25 '12 at 14:36
    
Very interesting, I like that idea thanks Tjaart. –  Alex Key Oct 25 '12 at 15:01
add comment

Assuming that we're talking about internal applications where having users register for a free email account is inappropriate, if not every user of your application will have a corporate email address, I would simply make the email address optional. If a user has a corporate email address, they can enter that address. If the user doesn't have a corporate email address, they won't.

You can deal with password resets in a number of different ways without requiring an email address. You can allow a user's manager or an administrator (i.e. helpdesk) to reset a user's password. The user would, presumably, need to call their manager or the helpdesk to get their password reset. You can let the user reset their own password online without email by answering some questions. This can be the standard "security questions" that you'll find at various sites, it can be things like an employee number that is likely to be assigned whether or not the user gets an email address, it can be information about the account's activity. Which options you use will, of course, depend on the sensitivity of the information stored in the system-- in the context of required e-learning, I'm guessing that the risk of allowing someone to compromise my account so that they can sit through a required corporate ethics training class is relatively low so the bar doesn't need to be set particularly high.

Reminders and other emails can be sent to the user if they have an email address and/or to their supervisor depending on the specific nature of the email. That lets you suppress unnecessary emails with personal information if the user doesn't have an email address but lets you alert the supervisor if an employee is overdue for a particular training class.

share|improve this answer
    
Thanks @Justin. –  Alex Key Oct 25 '12 at 15:38
add comment

It sounds like you are conflating user identity with email address. If that's the case, then insist on it. Users who don't have a personal email address can easily get one. Or you can easily provide one as part of your service.

In view of the inherent unreliability and complexity of getting email to work "for everyone", an alternative would be to design your interactions to be self contained and not require email for routine interactions, or ideally not needed at all.

share|improve this answer
    
Thanks ddye, good overview.. good idea to remove e-mail from the equation in situations it's not essential. –  Alex Key Oct 26 '12 at 9:14
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.