C# Exchange 2007 Transport Agent
-
25-09-2019 - |
Pergunta
Estou tentando escrever um agente de transporte de câmbio que testa para verificar se a linha de assunto está vazia, se for do que insere uma linha de assunto padrão. Sempre que eu compilei, instalei e habilitava esta DLL, o servidor não roteia mais o email ...
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);
}
}
}
}
Alguém sabe por que isso pode não estar funcionando?
obrigado
Solução
"EventLog.WriteEntry" lançam um erro, talvez. Eu tive o mesmo problema e, ao remover "EventLog.WriteEntry", tudo estava bem. Por enquanto não sei por quê.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow