Usuário para enviar como qualquer pessoa no Exchange?

5

Eu tenho um programa .NET - um serviço do Windows - que se conecta ao Exchange para enviar e-mails. O objetivo é permitir que ele envie e-mails que parecem ser de qualquer número de endereços de e-mail dentro dos domínios que meu empregador possui. 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 eu altero as credenciais da rede para o meu login A / D e envio e-mail como sendo de mim, ele funciona sem nenhum problema.

Então, minha pergunta é: o usuário do AutoMail pode ser configurado do lado do Exchange para poder enviar e-mails como qualquer endereço de e-mail válido? Se sim, como?

Para referência, aqui está o código em 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);
    
por Mike C. 22.01.2010 / 23:13

1 resposta

2

Ao efetuar login através de ganchos do Exchange, você está sujeito à validação do remetente. Existem permissões que precisam ser configuradas para representar alguém, o que foi feito intencionalmente pela Microsoft. A permissão que você está procurando é "Enviar como". Esse tipo de operação é exigido por um BlackBerry Enterprise Server, portanto não é incomum.

A maneira como resolvemos isso é dar ao usuário (AutoMail no seu caso) uma ACL específica para o objeto Domínio no AD. O Aplicar a é para 'Objetos de usuários decedidos' e com apenas 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 herança de direitos desativada) para permitir que o AutoMail os personifique.

Enviar-como exemplo de permissão de usuário http://sysadmin1138.net/images/send-as-user.png

    
por 22.01.2010 / 23:39

Tags