Usuário para enviar como qualquer pessoa no Exchange?

Usuário para enviar como qualquer pessoa no Exchange?

Eu tenho um programa .NET - um serviço do Windows - que se conecta ao Exchange para enviar emails. O objetivo é permitir o envio de e-mails que pareçam ser de qualquer número de endereços de e-mail dentro dos domínios de propriedade do meu empregador. O programa está autenticando com uma conta do Active Directory – chamada “AutoMail” – e o problema é que o Exchange está fornecendo o seguinte código de resposta de erro:

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

Quando altero as credenciais de rede para meu login A/D e envio um e-mail como se fosse meu, ele funciona sem problemas.

Portanto, minha pergunta é: o usuário do AutoMail pode ser configurado no lado do Exchange para poder enviar emails como qualquer endereço de email formatado de forma válida? Se sim, como?

Para referência, aqui está o código C# em 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);

Responder1

Ao efetuar login por meio de ganchos do Exchange, você estará sujeito à validação do remetente. Existem permissões que precisam ser definidas para se passar por alguém, o que foi feito intencionalmente pela Microsoft. A permissão que você procura é "Enviar como". Este tipo de operação é exigido por um Blackberry Enterprise Server, portanto não é incomum.

A forma como resolvemos é dar ao usuário (AutoMail no seu caso) uma ACL específica para o objeto Domínio no AD. A opção Aplicar para é para 'Objetos de usuário falecido' e apenas com a caixa "Enviar como" marcada. Isso fará com que todos os objetos User no domínio (a menos que estejam em um contêiner com a herança de direitos desativada) permitam que o AutoMail os represente.

Exemplo de permissão de usuário Enviar como
(fonte:sysadmin1138.net)

informação relacionada