smtp exchange-server exchange-server-2007 exchange-transport-agents

Edición de un encabezado SMTP con un Agente de transporte de Exchange 2007



exchange-server exchange-server-2007 (2)

No estoy seguro, pero parece que deberías cambiar el encabezado "Responder a" y no "Retorno de ruta". "return-path" debe ser configurado por el servidor.

Actualmente estoy escribiendo un Agente de transporte de Exchange 2007 para reemplazar algunos encabezados en todos los correos salientes de un remitente en particular. Logré reemplazar el encabezado SMTP ''De'' exitosamente, pero reescribir el encabezado ''Return-Path'' no parece funcionar.

Para que todo esto suceda, escribí un SmtpReceiveAgent personalizado y me suscribí al evento OnEndOfData de la siguiente manera:

private static void MyAgent_OnEndOfData(ReceiveMessageEventSource source, EndOfDataEventArgs e) { try { var address = e.MailItem.Message.From.SmtpAddress; if (address.ToLower().EndsWith("[internal email domain]")) { // replace the From: header - WORKING FINE! e.MailItem.Message.From = new EmailRecipient("[displayname]", "[email address]"); // replace the Return-Path: header - NOT WORKING! var headerList = e.MailItem.Message.RootPart.Headers; var header = (AddressHeader)headerList.FindFirst("Return-Path"); var newheader = new AddressHeader("Return-Path") { Value = "[email address" }; headerList.ReplaceChild(newheader, header); } } catch (Exception ex) { // do something useful here } }


Según los RFC, se supone que el encabezado Return-Path debe ser establecido por el servidor SMTP del destinatario. Si existe un encabezado Return-Path en el correo electrónico, debe ser eliminado y restablecido por el servidor del destinatario.

Quizás lo que está viendo es la implementación correcta de los RFC.