SharePoint 2010 creates a legacy contact when creating a mail enabled document library

Unanswered SharePoint 2010 creates a legacy contact when creating a mail enabled document library

  • Monday, April 25, 2011 9:27 PM
     
     

    If we allow SharePoint 2010 to create the contact for a mail-enabled document library, it creates an Exchange 2003 contact that has to be edited and saved in the Exchange 2010 EMC to get the mail format based on our E-mail Address Policy (EAP).

    For example, the email address created is username@server.domain.edu versus the default contact with the EAP applied of username@domain.edu. If I look at the email address in the Exchange Management Console, click the “Automatically update the-mail addresses based on e-mail address policies" checkbox, and try to apply it, I get the message that the "object must be upgraded to the current Exchange version..."

    Using the EMS CMDLET get-contact testdocs| fl, It shows the version to be 2003:
    ExchangeVersion          : 0.0 (6.5.6500.0)

    Using the Get-EmailAddressPolicy | Format-List Name,*RecipientFilter*,ExchangeVersion CMDLET, shows the version of the EAP on my Exchange 2010 server:
    Name                               : Default Policy
    ExchangeVersion                : 0.1 (8.0.535.0)

    So is there a way to change the Exchange version of the contact that SharePoint 2010 defaults to when creating the contact for a mail-enabled document library?


    SnoBoy

All Replies

  • Wednesday, May 04, 2011 11:36 PM
     
     

    Without knowing specific details, recommend you try this and see if it resolves your issue

    I got this of one of the posts in the forum

    http://www.alpesh.nakars.com/blog/how-to-change-inbound-email-domain-in-sharepoint/


    Alpesh Nakar's Blog Alpesh Just SharePoint Just SharePoint Updates

    Online SharePoint Saturday India June 25 20111 Contributing Author SharePoint 2010 Unleashed

    MCTS: SharePoint 2010 Configuration MCITP: SharePoint 2010 Administrator

  • Tuesday, February 14, 2012 9:21 AM
     
     

    Hi SnoBoy,

    i´m facing the 100% idendentical behavior.

    The new contacts are genereated with

    ExchangeVersion     : 0.0 (6.5.6500.0)

    and i need to check manually "Automatically update the-mail addresses based on e-mail address policies" then i got the same dialog about the upgrade of the object to the current exchange version.

    ExchangeVersion    : 0.10 (14.0.100.0)

    Did you get other responses or Did you find a way / workaround for this issue?

    BR,

    Markus

  • Monday, March 26, 2012 6:19 PM
     
     

    Did anyone ever get anywhere with this problem?  I am seeing the same behavior.  

    Sharepoint 2010 Foundation

    Exchange 2007/2010 mixed mode environment

    When I email enable a list in Sharepoint it creates the contact in the designated OU.  That contact will propagate to the default GAL but it will list no email address.  If I check the object it has no email set under 'email' in active directory.  When I look at it in EMC 2010 I see that the SMTP proxy addresses show only the address that points directly at my server (Eg <listname>@<servername>.<ourdomain>.com) and not the addresses set by my address policy.  I cannot send email to the contact at all.  

    If I open the contact with EMC 2010, edit something in it, and then resave the contact I will get prompted to upgrade it from the legacy contact.  At this point everything will be filled it as I would expect and the contact will start working.

    Any ideas?

  • Monday, March 26, 2012 7:29 PM
    Moderator
     
      Has Code

    The reason SharePoint created contacts are showing up with an "old" ExchangeVersion value (or msExchVersion attribute on the contact) is because SharePoint doesn't write that attribute at all (leaves it blank), so Exchange inteprets that value to be from Exchange 2003.  This is all SharePoint does when creating a contact:

    private void SetContactProperties(DirectoryEntry contactEntry, string Alias, bool SetAlias, string FirstName, string LastName, string ForwardingEmail, ContactFlags Flags)
    {
        contactEntry.Properties["givenName"].Value = FirstName;
        contactEntry.Properties["sn"].Value = LastName;
        contactEntry.Properties["displayName"].Value = FirstName + " " + LastName;
        contactEntry.Properties["TargetAddress"].Value = "SMTP:" + ForwardingEmail;
        contactEntry.Properties["MAPIRecipient"].Value = false;
        contactEntry.Properties["InternetEncoding"].Value = 0x140000;
        if (SetAlias)
        {
            contactEntry.Properties["mailNickname"].Value = Alias;
        }
        if (Flags == ContactFlags.OnlyAllowAuthenticatedEmail)
        {
            contactEntry.Properties["msExchRequireAuthToSendTo"].Value = true;
        }
    }
    
     
    
     
    


    http://sharepoint.nauplius.net

  • Monday, March 26, 2012 7:35 PM
    Moderator
     
     
    John, in Central Admin under System Settings -> Incoming Email, what is your Incoming E-Mail Server Display Address?  Is it servername.ourdomain.com, or just ourdomain.com?

    http://sharepoint.nauplius.net

  • Tuesday, April 10, 2012 10:41 AM
     
     

    Hi,

    even if you asked John direct, i´ll jump in here, since i´m also facing this issue.

    In our Incoming E-mail configuration is present sp.domain.com (sp. is a DNS subdomain of our currrent domain).

    Br,

    Markus

  • Tuesday, April 10, 2012 11:28 PM
    Moderator
     
     
    KalmMark, can you describe what you're seeing with Contacts?  They should be contactname@sp.domain.com in your case.

    http://sharepoint.nauplius.net

  • Wednesday, April 11, 2012 7:06 AM
     
     

    Hi Trevor,

    that´s correct - the contacts are created with emailactivatedlistname@sp.domain.com but with the ExchangeVersion     : 0.0 (6.5.6500.0).

    Do you know a way to upgrade those to the current ExchangeVersion    : 0.10 (14.0.100.0) automatically

    without checking the box "automatically update e-mail addresses based on e-mail address policy"?

    BR,

    markus

  • Thursday, April 12, 2012 1:42 AM
    Moderator
     
     

    If the Contacts are created as expected, in order to get them to be non-legacy Contacts, run:

    Set-MailContact -Identity "contactname" -ForceUpgrade $true


    http://sharepoint.nauplius.net

  • Thursday, April 12, 2012 7:38 AM
     
     

    Hi Trevor,

    a quick update regarding your suggestion.

    I´ve searched for legacy contacts and tried your Cmdlet.

    This ends up in an exception:

    [PS] C:\>set-MailContact -Identity announcements -forceUpgrade $true

    A positional parameter cannot be found that accepts argument 'True'.

        + CategoryInfo          : InvalidArgument: (:) [Set-MailContact], ParameterBindingException

        + FullyQualifiedErrorId : PositionalParameterNotFound,Set-MailContact

    If it run the CMDlet, WITHOUT the $true parameter - no error is returned.

    The Contact remains on ExchangeVersion 0.0 (6.5.6500.0)

    BUT the checkbox "automatically update e-mail addresses based on e-mail address policy" is checked and the Contact shows properly up in our GAL Address List "All Sharepoint Lists".

    A manual Upgrade isn´t really a solution for us, even if this is a good step - a permanent Solution (Script?) is still required.

    Do you have any suggestions about such a solution?

    THX

    BR,

    markus

  • Monday, August 06, 2012 8:54 PM
     
     

    Are there any solutions that have been found for this problem? 

    We have done testing with this and once we click the Auto update based on policy, the policy does its thing and creates the correct e-mail address needed, but it is really annoying to have to do that manually.

    Maybe a scrip that can run, hotfix...etc?

    Thanks,

    Kinsey

  • Tuesday, August 07, 2012 11:47 AM
     
     

    Hi Kinsey,

    what we do meanwhile is NOT a permanent solution but a workaround:

    #this script updates all SPS10 generated E-mail Activated lists (Exchange Contacts) to the actual Exchange Version and the resquiresenderautenthication is set to False

    get-mailcontact -OrganizationalUnit "Domain/SPS10/EMailActivatedLists" –resultsize:unlimited -filter {ExchangeVersion -eq "0.0 (6.5.6500.0)"} | Set-MailContact -EmailAddressPolicyEnabled:$true –RequireSenderAuthenticationEnabled:$False

    confirm change and all legacy contacts are upgraded.

    Hope that helps a little bit.

    BR

    Markus

  • Tuesday, August 07, 2012 2:58 PM
     
     

    Thank You Markus,

    Does this script need to be run through the exchange management shell?

    Thank You,

    Kinsey


    Thank You, Kinsey

  • Tuesday, August 07, 2012 3:28 PM
     
     

    Hi Kinsey,

    yep - needed to be run by EMS.

    Not sure which permissions are needed in detaill, but you can surely find them round in Technet.

    BR,

    Markus

  • Tuesday, August 07, 2012 3:44 PM
     
     
    Ok, any dangers I should be aware of running this script? It will be running on an exchange server with 750 active e-mail addresses.

    Thank You, Kinsey

  • Wednesday, August 08, 2012 5:50 AM
     
     

    Don´t worry - it will take seconds to complete.

    btw - i´ve run this yesterday, with over 1500 Mailboxes online ;-)

  • Wednesday, August 08, 2012 3:24 PM
     
     

    Works like a charm! 

    Thank You :-D


    Thank You, Kinsey

  • Thursday, October 25, 2012 8:14 PM
     
     

    I am having a similar issue, however, when I create the mail enabled library, the contact is created but not listed in exchange at all.

    Here are the details - Exchange 2010, SharePoint Server 2010 Enterprise.

    I had set this up before and all test emails failed, after about 3-4 days, it began working. I did nothing on the SharePoint end as I had everything in place correctly. That was a testing library. I have now created a new library, on a differenet site, mail enabled it, however I had to set the mail name to be the same as the original testing one. I first removed the mail enabled aspect from the original test location prior to mail enabling the production library. Now I get an erorr when emailing internally that the name is now invalid. Email from external gets bounced back stating no username is found.

    What specifically do I need to do to get this working.


    Gordy

  • Sunday, April 28, 2013 7:26 AM
     
     
    I also have the same issue.