title: How to register the client who opened an email / a newsletter in ASP.net
body: <p>For my internship I'm currently working on a web-based newsletter sending application in ASP.Net (C#). This application registers the open-rate of the send newsletters. </p>
  
  <p>I'm using the one by one transparent image method, explained in the following article: <a href="http://www.pinpointe.com/blog/how-email-open-and-click-tracking-works" rel="noreferrer">http://www.pinpointe.com/blog/how-email-open-and-click-tracking-works</a> to register the open-rate.</p>
  
  <p>The applicaton can register the amount of opens, and the date/time an email was opened. The only thing missing is the client (program) the email was opened with. This information can help the design team to code proper HTML for the newsletter, that is readable in the most common email clients.</p>
  
  <p>To track the client withs opened the email i'm currently using the user agent requesting the one by one image form our server. This information is stored in our database as shown below:</p>
  
  <p><img src="https://i.stack.imgur.com/6eL0T.png" alt="UserAgent string in database"> </p>
  
  <p>Records 12 and 13 in this example holds an user agent "Microsoft Office Protocol Discovery". This user agent was registered when opening a newsletter in Microsoft Outlook. </p>
  
  <p>Is there a way to get more specific information about a client? <em>E.g. "Microsoft Outlook 2007" as the client.</em>  </p>