2.1.3.1.1 Recipients
To create a recipient (2) in a MIME recipient header, clients create a Message object recipient (2) with either a PidTagEntryId property ([MS-OXCPERM] section 2.2.4) or both the PidTagAddressType property ([MS-OXOABK] section 2.2.3.13) and PidTagEmailAddress property ([MS-OXOABK] section 2.2.3.14), which suffice to fully represent the recipient's (2) e-mail address type and e-mail address. Clients SHOULD, in addition, set the PidTagSmtpAddress property ([MS-OXOABK] section 2.2.3.21), particularly to save the SMTP address when the value of the PidTagAddressType property is not SMTP.
Clients MUST set the value of the PidTagRecipientType property ([MS-OXOMSG] section 2.2.3.1) for each recipient (2) as specified in the following table to indicate whether a recipient (2) is a To recipient, a carbon copy (Cc) recipient, or a blind carbon copy (Bcc) recipient.
PidTagRecipientType property value |
Recipient header |
---|---|
0x00000001 |
|
0x00000002 |
|
0x00000003 |
|
When generating MIME messages or TNEF messages, MIME writers SHOULD<5> ignore recipients that have a value for the PidTagRecipientType property that is not included in the preceding table. Alternatively, MIME writers MAY<6> perform a bitwise AND of the value of the PidTagRecipientType property and 0x00000003 and use that value to determine the recipient type. MIME writers SHOULD generate one MIME recipient (2) for a Message object recipient (2) that has a value of To, Cc, or Bcc but MAY<7> generate no MIME recipients (2) for Bcc recipients when generating a message to send via SMTP. Each MIME recipient (2) MUST be generated in the header that corresponds to the PidTagRecipientType property value, as specified by the PidTagRecipientType property value table.
Clients SHOULD set the PidTagDisplayName property ([MS-OXCFOLD] section 2.2.2.2.2.5) for recipients (2), where that information is available. MIME writers SHOULD copy the PidTagDisplayName property value, when it exists, when generating the display name of an address as specified in [RFC2822]. If the PidTagDisplayName property is not assigned, MIME writers SHOULD NOT generate a value for the display name. MIME writers can encode the display name, as specified in [RFC2047], in order to preserve non-ASCII characters.
MIME writers SHOULD generate the angle-address portion (angle-addr) of an address, as specified in [RFC2822] section 3.4, from addressee properties, used in the following order of preference: PidTagEntryId, PidTagAddressType / PidTagEmailAddress, PidTagSmtpAddress. More specifically, MIME writers SHOULD do the following:
If the PidTagEntryId property is present and bytes 4-19 are equal to the MUIDEMSAB universally unique identifier (UUID) value "{%xdc.a7.40.c8.c0.42.10.1a.b4.b9.08.00.2b.2f.e1.82}", it is an address book EntryID. (The MUIDEMSAB value identifies the value as an EntryID.) In this case, MIME writers SHOULD look up the address book entry that corresponds to the distinguished name (DN) that is contained in the EntryID and use the primary SMTP proxy address that is found on the address book entry. (EntryID format is specified in [MS-OXCDATA] section 2.2, and the procedure for looking up address book entries is specified in [MS-OXOABK] section 2.1.)
Otherwise, if the PidTagEntryId property is present and bytes 4-19 are equal to the MUIDOOP UUID value "{%x81.2b.1f.a4.be.a3.10.19.9d.6e.00.dd.01.0f.54.02}", it is a one-off EntryID. The e-mail type and address are encoded in the EntryID, as specified in [MS-OXCDATA] section 2.2.5.1. If the e-mail type is SMTP, use this e-mail address; otherwise, continue to step 6.
If the PidTagEntryId property is present and bytes 4-19 are some value other than the values that are shown in steps 1 and 2, the MIME writer rejects the recipient (2). If MIME generation is being done for SMTP, a failure delivery status notification (DSN) is generated for that recipient (2). The format of a failure DSN is specified in [RFC3464]. The corresponding Message object structure is referred to as a non-delivery report.
Otherwise, if both the PidTagAddressType property and the PidTagEmailAddress property are present and the PidTagAddressType property matches "SMTP", use the value of the PidTagEmailAddress property.
Otherwise, if the PidTagSmtpAddress property is present, use its value.
Otherwise, if an e-mail address and address type are present, whether obtained from the PidTagAddressType property and the PidTagEmailAddress property or from an EntryID, but the address type does not match "SMTP", the MIME writer SHOULD attempt IMCEA encapsulation of the e-mail address, as specified in section 2.1.3.1.8.
Finally, if all of the previous conditions fail, the MIME writer MUST reject the recipient (2). If MIME generation is being done for outbound SMTP, a failure DSN is generated for that recipient (2). The format of a failure DSN is specified in [RFC3464]. The corresponding Message object structure is referred to as a non-delivery report.
A MIME writer MAY<8> use these steps in the following order, omitting step 6: 4, 5, 1, 2, 3, 7.