¿Usuario para enviar como cualquiera en Exchange?

¿Usuario para enviar como cualquiera en Exchange?

Tengo un programa .NET (un servicio de Windows) que se conecta a Exchange para enviar correo electrónico. El objetivo es permitirle enviar correos electrónicos que parezcan provenir de cualquier número de direcciones de correo electrónico dentro de los dominios que posee mi empleador. El programa se está autenticando con una cuenta de Active Directory, llamada "AutoMail", y el problema es que Exchange muestra el siguiente código de respuesta de error:

System.Net.Mail.SmtpException: Mailbox unavailable. The server response was: 5.7.1 Client does not have permissions to send as this sender
   at System.Net.Mail.MailCommand.CheckResponse(SmtpStatusCode statusCode, String response)
   at System.Net.Mail.MailCommand.Send(SmtpConnection conn, Byte[] command, String from)
   at System.Net.Mail.SmtpTransport.SendMail(MailAddress sender, MailAddressCollection recipients, String deliveryNotify, SmtpFailedRecipientException& exception)
   at System.Net.Mail.SmtpClient.Send(MailMessage message)
   at ConsoleApplication1.Program.Main(String[] args) in C:\WorkingCode\ConsoleApplication1\ConsoleApplication1\Program.cs:line 38

Cuando cambio las credenciales de red a mi inicio de sesión A/D y envío un correo electrónico como si fuera mío, funciona sin problemas.

Entonces mi pregunta es: ¿se puede configurar el usuario de AutoMail desde el lado de Exchange para que se le permita enviar correo electrónico como cualquier dirección de correo electrónico con formato válido? ¿Si es así, cómo?

Como referencia, aquí está el código C# en uso:

MailMessage mail = new MailMessage();
mail.From = new MailAddress("[email protected]");
mail.To.Add("[email protected]");
mail.Subject = "This is an email";
mail.Body = "This is a test. <b>This is bold</b> <font color=#336699>This is blue</font>";
mail.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Host = "172.16.1.33";
smtp.UseDefaultCredentials = false;
smtp.Credentials = new NetworkCredential("AutoMail", "password");
smtp.Send(mail);

Respuesta1

Al iniciar sesión a través de enlaces de Exchange, está sujeto a la validación del remitente. Hay permisos que deben establecerse para poder hacerse pasar por alguien, lo cual fue hecho intencionalmente por Microsoft. El permiso que estás buscando es "Enviar como". Este tipo de operación es requerida por un Blackberry Enterprise Server, por lo que no es inusual.

La forma en que lo resolvimos es darle al usuario (AutoMail en su caso) una ACL específica para el objeto Dominio en AD. Aplicar a es para 'Objetos de usuario difuntos' y solo tiene marcada la casilla "Enviar como". Esto hará que todos los objetos Usuario en el dominio (a menos que estén en un contenedor con la herencia de derechos desactivada) permitan que AutoMail los suplante.

Ejemplo de permiso de usuario Enviar como
(fuente:sysadmin1138.net)

información relacionada