Under normal circumstances users attach emails to NetSuite entity records that already have the sender or recipient's email address associated with them, i.e. if email@example.com sends you an email you would attach it to his contact record in NetSuite. In those cases CloudExtend and NetSuite work as expected.
This article is meant to cover what happens in the uncommon situation of trying to attach an email to a NetSuite entity unrelated to the sender or recipient, i.e. if firstname.lastname@example.org sends you an email and you attach it to a record the Joe does not belong to (as the entity or contact of the entity).
NetSuite requires that four values be set when saving an email.
In certain outlier cases one of the required entity fields may not be able to be set by NetSuite. For example, if a user sends an email and attaches it to their own Contact record NetSuite will not be able to resolve the recipient entity since it does not exist on the Contact record (try this for yourself by going to a NetSuite contact record and trying to send the email to someone unrelated to the Contact).
For outbound emails
When attaching to a NetSuite record where the recipient's email address is not found on the record being attached to, NetSuite would normally not allow the email to attach. CloudExtend works around this limitation by attaching the email with the current entity 'name' as the recipient and replacing the email address with the actual email address of the recipient from the sent email.
Below is a way to visualize this in NetSuite. If you open a customer record and then compose a new email you will see that the recipient list is restricted only to those contacts of the company. The Netsuite API enforces this same rule and therefore the email attached by CloudExtend would fail. In order to ensure that CloudExtend attaches the email successfully the App sets the entity to that of the record it's being attached to. Since the NetSuite API does allow an override of the actual email address the App does send over the proper email.
For inbound emails
When attaching to a NetSuite record where the sender's email address is not found on the record being attached to, NetSuite would normally not allow the email to attach. CloudExtend works around this limitation by attaching the email with the current entity 'name' as the sender replacing the email address with the actual email address of the sender.