You didn't specify what add-in technology you're using, but as you mentioned C# then I'll assume that you're using Microsoft.Office.Interop.Outlook
It's possible to capture the send event of an EmailItem. You can retrieve EmailItem object and access its contents by using Inspector.
Sample code:
private void Inspectors_NewInspectorEvent(Outlook.Inspector inspector)
{
var currentAppointment = inspector.CurrentItem as Outlook.MailItem;
((Outlook.ItemEvents_10_Event)currentAppointment).Send += ThisAddIn_Send;
}
private void ThisAddIn_Send(ref bool Cancel)
{
//Handle send event
}
If you're creating a web add-in using Office.js, send event is currently only available in Office365 OWA. Here's the reference
Update to include Dmitry's comment:
You should use Application.Itemsend, you will then need to check if the being sent object is an email.