A number of the better CRM out there have this. For example, Nimble and HubSpot CRM. If you email someone from the CRM, it actually send from that email program (Gmail or Outlook). Hence, it is recorded there. Likewise, if you send from the email program, it is also shown in the CRM, and tied to the contact record as well. This is true 2 way sync. It is very, very helpful. Mainly, no correspondence is ever missed!