title: C# Exchange 2007 Transport Agent
body: <p>Im trying to write an exchange transport agent that tests to see if the subject line is empty, if it is than it inserts a default subject line. whenever i compiled, installed, and enabled this dll the server would no longer route email...</p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  using System.Diagnostics;
  using Microsoft.Exchange.Data.Transport;
  using Microsoft.Exchange.Data.Transport.Email;
  using Microsoft.Exchange.Data.Transport.Smtp;
  using Microsoft.Exchange.Data.Transport.Routing;
  using Microsoft.Exchange.Data.Common;
  
  namespace ExchangeTransportAgent
  {
      public class RoutingFactory : RoutingAgentFactory
      {
  
          public override RoutingAgent CreateAgent(SmtpServer server)
          {
              RoutingAgent myAgent = new sRoutingAgent();
              return myAgent;
          }
      }
  }
  
  
  
  
  class sRoutingAgent : RoutingAgent
  {
  
      public sRoutingAgent()
      {
          //subscribe to different events
          base.OnSubmittedMessage += new SubmittedMessageEventHandler(SRoutingAgent_OnSubmittedMessage);
      }
  
      void SRoutingAgent_OnSubmittedMessage(SubmittedMessageEventSource source, QueuedMessageEventArgs e)
      {
          if (e.MailItem.Message.Subject == string.Empty)
          {
              try
              {
                  e.MailItem.Message.Subject = "Kranichs Jewelers";
  
  
                  EventLog.WriteEntry("MY Exchange Routing Agent", "MY ROUTING AGENT CHANGED THE SUBJECT",
                  EventLogEntryType.Information, 1337);
              }
              catch (Exception except)
              {
                  EventLog.WriteEntry("MY Exchange Routing Agent", except.Message,
                      EventLogEntryType.Error);
              }
          }
      }
  
  }
  </code></pre>
  
  <p>does anyone know why this might not be working?</p>
  
  <p>thanks</p>