Friday, March 19, 2010

A configuration error in the recipient's e-mail system prevented delivery of this message. Two recipients are configured with the same e-mail address.

Problem:
While sending mail from TSI Exchange to christopher.gledhill@corusgroup.com the following error is encountered,
Trading on 3/17/2010 5:03 PM A configuration error in the recipient's e-mail system prevented delivery of this message. Two recipients are configured with the same e-mail address. Contact your administrator.
Resolution:

The exchange connector was picking wrong SMTP address in TA field.
mapmex.tbl. The attributes for the directories are defined in amap.tbl files.
· In the \Program Files\Exchrvr\Conndata\Dxamex directory:
· AMAP.TBL This file defines Exchange mailbox attributes that will be synchronized from Active Directory to the Lotus Domino Directory.
· MAPNOTES.TBL This file defines attribute mapping from the Lotus Domino Directory to Active Directory.
· In the \Program Files\Exchrvr\Conndata\DxaLotus Notes subdirectory:
· AMAP.TBL This file defines the Lotus Domino mail database attributes to be synchronized from the Lotus Domino Directory to Active Directory.
· MAPMEX.TBL This file defines attribute mapping from Active Directory to the Lotus Domino Directory.

Configuration of Lotus Note Connector,


Current Setting :
1. Forwarder Email Address was getting set in TA address in exchange contacts.
· TA = "SMTP:" ISEQUAL( MailAddr, "", ISEQUAL( SMTPAddr, "", Replace( Strip( FullName, ";", "L", "R" ), " ", "_" ) "%" Replace( Strip( MailDomain, ";", "L", "R" ), " ", "_" ) "@legacydomain.com", SMTPAddr ), MailAddr )
Problem Analysis:
The following three functions were used in the connector configuration,
ISEQUAL(), REPLACE(), STRIP().

Syntax:
ISEQUAL( exp1, exp2, val1, val2 )
Description:
ISEQUAL returns the value of val1 if exp1 equals exp2, otherwise it returns the value of val2. ISEQUAL is not case-sensitive.
Examples:
ISEQUAL( "remote", "remote", "R", "L") "R"
ISEQUAL( "remote", "local", "R", "L") "L"
ISEQUAL( "remote", "REMOTE", "R", "L") "R"

Syntax:
STRIP ( string1, string2, [scan-from-direction] , [strip-toward- direction]),
Where
[scan-from-direction] = "L" "R"
[strip-toward-direction] = "L" "R"
Description:
STRIP locates the left-most or right-most occurrence of string2 in string1 and removes characters from the right or left, including string2. The value for scan-from-direction determines whether STRIP looks for the left-most or right-most occurrence of string 2 in string 1; the value for strip-toward- direction determines whether characters are removed from the left or right of where string2 starts.
If the either the scan-from-direction or the strip-toward-direction parameter is omitted, the value for the missing parameter is assumed to be the same as the one that is specified. If both these parameters are omitted, the default for both is assumed to be "R" (right).
Examples:
STRIP ( "Senior Vice President", "Vice", "L" ) " President" (Note the leading space)
STRIP ( "Senior Vice President", "Vice", "R" ) "Senior " (Note the trailing space)
STRIP ( "Senior Vice President", " " , "L") "Vice President"
STRIP ( "Senior Vice President", " ", "R" ) "Senior Vice"
STRIP ( "Senior Vice President", " ", "R", "L" ) "President"

Syntax:
REPLACE ( field, what [,with] )
Description:
This mapping function enables you to remove specific characters from an ID or replace selected characters with substitute characters. It scans field for any characters in the what string and replaces them with the corresponding character from the with string. If the with string is shorter or is not provided (meaning that one or more characters in what have no corresponding characters in with), those characters are elided (removed) from field.
Examples:
REPLACE ("James Hendergart"," ","_") "James_Hendergart"
REPLACE ("Sales & Marketing E-mail Group"," ",".") "Sales.&.Marketing.E-mail.Group"

Lotus Address Fields
Forwarding address contain in MailAddress (NAMES)
Internet address contain in InternetAddress (TEXT)

Example is give below.
Exchange Connector Parameter

InternetAddress (TEXT) : vineets@tatasteel.com SMTPAddr
MailAddress (NAMES) : vedants2002@gmail.com MailAddr
· TA = "SMTP:" ISEQUAL( MailAddr, "", ISEQUAL( SMTPAddr, "", Replace( Strip( FullName, ";", "L", "R" ), " ", "_" ) "%" Replace( Strip( MailDomain, ";", "L", "R" ), " ", "_" ) "@legacydomain.com", SMTPAddr ), MailAddr )
· i.e TA = "SMTP:" ISEQUAL( MailAddr, "", X1, MailAddr )
If MailAddr is blank then X1
Else
MailAddr
Where
X1 = ISEQUAL( SMTPAddr, "", Replace( Strip( FullName, ";", "L", "R" ), " ", "_" ) "%" Replace( Strip( MailDomain, ";", "L", "R" ), " ", "_" ) "@legacydomain.com", SMTPAddr )
X1 is nothing but SMTPAddr of Lotus Address Book.
Modified Settings:
The problem is forwarder EMAIL address in notes is mapped to MailAddr field, the current syntax says, if the MailAddr filed is blank then take SMTPAddr as TA address else Forwarder address is pumped into TA address.
1. ISEQUAL( SMTPAddr, "", Replace( Strip( FullName, ";", "L", "R" ), " ", "_" ) "%" Replace( Strip( MailDomain, ";", "L", "R" ), " ", "_" ) "@legacydomain.com", SMTPAddr

No comments:

Post a Comment