AltCopyTo and INetCopyTo fields may be out of sync when using Reply To All

Technote (FAQ)


Question

Under certain circumstances in Lotus Notes®, replying to e-mail messages in which identical user names are entered in both the "To" and "cc" fields may result in the values contained in the AltCopyTo and INetCopyTo fields being out of sync with the CopyTo field.

This issue occurs only if the "Default display name" preference (Location Document --> Basics tab) is set to "Display alternate names".

This situation can occur in the following scenario:

  1. User B, User C, and User D have alternative names as follows: AltUserB, AltUserC, and AltUserD respectively. User A creates a new memo with the To field set to AltUserB, and the cc field set to UserB@domain, User C, and User D.
  2. Send the mail.
  3. User B's Location Document has the "Default display name" preference set to "Display primary names."
  4. User B opens the mail and clicks Reply to All. At this point, User C and User D display in the cc field. User B sends the reply.
  5. User C's Location Document has the "Default display name" preference set to "Display alternate names."
  6. User C opens the mail from User B (from Step 4).
  7. User B and User C are in the "cc" field but User D is not.
  8. User C replies using Reply to All, which results in User D dropping from this mail thread.

A "Reply to All" without modifying the "cc" field will result in omission of some recipient names but no additional inadvertent recipient names will appear in the AltCopyTo or INetCopyTo fields. However, if you add or delete a "cc" entry after a Reply to All, that action may result in recipient names appearing or disappearing in the AltCopyTo/INetCopyTo fields.

This problem may result in misaddressed e-mail messages and lead recipients to an incorrect recognition of the sender's intention regarding the recipients. If a recipient selects to Reply to All, this may result in inadvertent disclosure of information since the reply will include recipients who did not receive the original message.

Notes:
-- The example above is one way of reproducing the issue. Other similar scenarios with the same result may exist.
-- This situation occurs only when the "cc" field contains a name that is also contained in the To field.
-- When User C is a POP/IMAP user over SMTP, UserB@ibm.com and UserC@ibm.com display in the "cc" field but UserD@ibm.com does not.

Answer

This issue was reported to Quality Engineering as SPR# KSAA6RTKS4 and was determined to be a problem in the Notes 6.x and 7.x mail templates. Since the issue originates with the template in use, it may be observed using various Notes client releases.


The issue is fixed in the Notes/Lotus Domino® 6.5.6 and 8.0 mail templates by a fix for a similar issue reported as SPR# KSAA6SNC7F. The issue is fixed in the Notes/Domino 7.0.3 mail templates by a fix for SPR# KSAA6RTKS4.

Excerpt from the Lotus Notes and Domino Release 7.0.3 MR fix list (available at http://www.ibm.com/developerworks/lotus):

Template

  • SPR# KSAA6RTKS4 - Made changes to eliminate duplicate entries in the Alternate name fields by removing @ unique in those fields.

Refer to the Upgrade Central site for details on upgrading Notes/Domino.


Excerpt from the Lotus Notes and Domino Release 6.5.6 fix list (available at http://www.ibm.com/developerworks/lotus)

    Template
    • SPR# KSAA6SNC7F - Made changes to eliminate duplicate entries in the Alternate name fields by removing @unique. This regression was introduced in 6.5.5.

    Workarounds:

    1. In the Location Document(s) --> Basics tab, set the "Default display names" entry to "Display primary names."
      NOTE: The related field name in the Location form is UserNameFlag and the keyword choice, "Default primary names," has a text value of "0", where the choice, "Display alternate names," has a text value of "1".

    2. Check the recipient names before sending a message reply.

    Or,

    You can repair the template by completing the following steps:

    Use Lotus Domino Designer® to make the following design element changes in the mail6.ntf, mail6ex.ntf, mail7.ntf, and mail7ex.ntf, and then refresh the design of the mail databases.

    For the "Reply", "Reply With History" and "_Document Memo" forms:

    1. Change the AltCopyTo field from type "Text" to type "Names".

    2. The fields, InheritedSendTo and InheritedAltSendTo, should have @Unique removed from their formula. Locate the fields and remove @Unique from the formula.
      NOTE: You do not have to remove the related parentheses, just the text, @Unique.

    3. Modify the Common Script Library and add the following code at the very end (just prior to the End Sub line) of the MEMOReplyToAll subroutine. Using Domino Designer, open the related mail template. In the left pane, select Shared Code --> Script Library. In the right pane, open the Common Library. Locate the MEMOReplyToAll subroutine (it appears near the end of the list). Add the code below, save the library, and close the template database.
      Code to add to end of MEMOReplyToAll subroutine:

      If (note.GetItemValue("ClientType")(0) <> "Web") Then
      ' Remove the sender from CopyTo and AltCopyTo
      Dim vCopyTo As Variant, vAltCopyTo As Variant, vInetCopyTo As Variant

      vCopyTo = note.GetItemValue("CopyTo")
      vAltCopyTo = note.GetItemValue("AltCopyTo")
      vInetCopyTo = note.GetItemValue("InetCopyTo")

      If (Ubound(vCopyTo) <> Ubound(vAltCopyTo)) Or (Ubound(vCopyTo) <> Ubound(vInetCopyTo)) Then
      Call note.ReplaceItemValue("AltCopyTo", "")
      Call note.ReplaceItemValue("InetCopyTo", "")
      Elseif Isarray(vCopyTo) <> False Then

      Dim iNames As Integer
      iNames = Ubound(vCopyTo)
      For x = 0 To iNames
      If (x <> NAMEFindInList(Cstr(vCopyTo(x)), vCopyTo)) Then
      vCopyTo(x) = ""
      vAltCopyTo(x) = ""
      vInetCopyTo(x) = ""
      End If
      Next

      x = NAMEFindInList(session.EffectiveUserName, vCopyTo)
      If (x > -1) Then
      vCopyTo(x) = ""
      vAltCopyTo(x) = ""
      vInetCopyTo(x) = ""
      End If

      Call note.ReplaceItemValue("CopyTo", Fulltrim(vCopyTo))
      vCopyTo= Evaluate(|@OptimizeMailAddress(CopyTo)|,note)
      Call note.ReplaceItemValue("CopyTo", Fulltrim(vCopyTo))

      Call note.ReplaceItemValue("AltCopyTo", Fulltrim(vAltCopyTo))
      vAltCopyTo = Evaluate(|@OptimizeMailAddress(AltCopyTo)|,note)
      Call note.ReplaceItemValue("AltCopyTo", Fulltrim(vAltCopyTo))

      Call note.ReplaceItemValue("InetCopyTo", Fulltrim(vInetCopyTo))
      vInetCopyTo = Evaluate(|@OptimizeMailAddress(InetCopyTo)|,note)
      Call note.ReplaceItemValue("InetCopyTo", Fulltrim(vInetCopyTo))
      End If
      End If

    NOTE: An earlier version of this workaround suggested revising the formulas of the AltCopyTo and INetCopyTo fields. This modification was later revised and the fields should actually use the original formulas found in the templates:
      - The AltCopyTo field should use the formula:
        @If(@IsAvailable (tmpNewDoc); AltCopyTo; AltSendTo : AltCopyTo)

      - The INetCopyTo field should use the formula:
        InetSendTo : InetCopyTo

    Related Issue
    To avoid a related issue (refer to Related information link below), you should additionally make the following update to the mail templates. NOTE: The updates described below are present starting in the Notes/Domino 6.5.6/7.0.2 mail templates.

    The following Shared Actions must have their formulas modified:

    "Save As draft"
    "Save"
    NOTE: There are two Shared Actions entitled Save. You want to modify the one that, when listed in Designer, has a checkbox in the Notes column instead of the Web column.

    Remove the following code:

    REM {"Forcing values in TO field to be saved"};
    FIELD SendTo := @If(EnterSendTo != ""; EnterSendTo; SendTo);
    FIELD CopyTo:=@If(EnterCopyTo!=""; EnterCopyTo;CopyTo);
    FIELD BlindCopyTo := @If(EnterBlindCopyTo != ""; EnterBlindCopyTo; BlindCopyTo);

    NOTE: To access Shared Action design elements, in the left pane of the Designer client, select Shared Code --> Actions.

    Supporting information:
    The InetCopyTo field is created when either of the following conditions exist:
      -- [Internet Address] is set in the Person Document in the Domino Directory.
      -- [Internet Address] is not set and Global Domain Document is set.

    If the [Internet Address] in the Person Document and Global Domain Document are both not set, the INetCopyTo field is not created.

    If only Internet addresses are in the cc field, the INetCopyTo field is set to "".

    Related information

    Replies to email messages from/to alternate name ...
    A simplified Chinese translation is available


    Rate this page:

    (0 users)Average rating

    Add comments

    Document information


    More support for:

    Lotus End of Support Products
    Lotus Notes

    Software version:

    6.0, 6.5, 7.0

    Operating system(s):

    Linux, Mac OS, Windows

    Software edition:

    All Editions

    Reference #:

    1243602

    Modified date:

    2007-10-16

    Translate my page

    Machine Translation

    Content navigation