Cannot email active directory (2003) contacts

We have contacts in our active directory that do not have an "Exchange e-mail address" and only have an email under the General > E-mail properties.

There is clearly an address that outlook can send to... please can anyone help with this matter?

From: System Administrator 
Sent: 15 October 2013 10:15
To: [Sender]
Subject: Undeliverable: Testing

Your message did not reach some or all of the intended recipients.

      Subject:	Testing
      Sent:	15/10/2013 10:15

The following recipient(s) cannot be reached:

      IT Test on 15/10/2013 10:15
            The message could not be delivered because the recipient's destination email system is unknown or invalid. Please check the address and try again, or contact your system administrator to verify connectivity to the email system of the recipient.
            <server.domain.local #5.1.2>

Open in new window

Who is Participating?
Simon Butler (Sembee)Connect With a Mentor ConsultantCommented:
The fact that they have an email address assigned in AD doesn't mean you can use them to send email. That information is effectively just for show. You would need to mail enable them to be able to use them.

How many contacts are you talking about? As soon as you mail enable them they will appear in the GAL. Every time I have done this, without exception, I have had to undo it within 48 hours because the end users have complained about the pollution of the GAL with people they don't know and don't care about. They might be very important people to your business, but the people who actually need to interact with them will be very small.

Then you have the problem of keeping them up to date - that requires permissions in AD, and therefore the information will get very stale very quickly.

You would be better of putting these contacts in to a Public Folder or something like that, so that they are available to those that need them. You can also delegate the responsibility of maintaining them to someone else.

cgladminAuthor Commented:
At this point it does not seem possible so instead can anyone help on creating a batch file of some description that can take a contact in an OU "Business Contacts" and perform the Exchange Task on all of them to Establish an E-mail Address with an alias of the email address that it seems to be able to pick up automatically?

Many thanks
cgladminAuthor Commented:
Thanks Simon for your input. There is 3000+ contacts and the task was completed yesterday to mail enable all of them. Had a few hiccups with duplicate email entries but other than that it seems to be working. The GAL being polluted isn't too much of an issue as the standard groups can be selected with All Groups, and staff with All Users. The task has been delegated to a select few to keep the information up to date which required the Security Group to have View Only Admin rights to Exchange, set under ESM.

The only reason I did not wish to start using public folders is because I've used them in the past and I seem to remember I had many issues, not that I can actually remember specific reasons now. I'll see how it goes, I just wish I didn't need staff to manually mail enable the contacts and wish I could have automated the process.

For future ref, if you can use AD and Exchange Powershell cmdlets in your environment, you might have been able to do something like:

Using AD powershell-

Get-ADObject -Filter {ObjectClass -eq "contact"} -SearchBase "OU=Business Contacts,DC=YourDomain,DC=local" -Properties Name,Mail | Select Name,Mail | Export-csv C:\Wherever\Contacts.csv

If you pointed it at the correct OU (using the SearchBase parameter) the result would be a .csv file containing the 'Name' of the contact, as well as the content of the 'Mail' attribute (the Email field in the general tab in AD).

You can use Excel to spot check the .csv for problems (filter for duplicates and such), and once you're happy with the .csv content, you could use that .csv in the Exchange cmdlets to mail enable the contacts...

Something like this:

Import-CSV C:\Wherever\Contacts.csv |%{Enable-MailContact -Identity $_.Name -ExternalEmailAddress $_.Mail}

In theory (I can't really test easily) that would go through the CSV file, mail enabling all contact objects listed in the 'Name' column of the CSV, using the email address listed under the 'Mail' column of the CSV.

As I say I can't test it, and it's probably some extremely clumsy powershell, but I've used similar for other tasks and it always works well. I've always preferred outputting the .csv first regardless, so it can be spot checked to ensure what got collected was what you wanted.

Anyways, just an afterthought - And entirely dependent on whether you can use these cmdlets in your environment.

Many thanks,

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.