У меня есть программа .NET - служба Windows - которая подключается к Exchange для отправки электронной почты. Цель состоит в том, чтобы позволить ему отправлять электронную почту с любого количества адресов электронной почты в пределах доменов, которыми владеет мой работодатель. Программа аутентифицируется с помощью учетной записи Active Directory, называемой «AutoMail», и проблема в том, что Exchange выдает следующий код ответа об ошибке:
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
Когда я меняю сетевые учетные данные на свой A / D логин и отправляю электронное письмо как от меня, это работает без проблем.
Итак, мой вопрос: можно ли настроить пользователя AutoMail на стороне Exchange, чтобы ему было разрешено отправлять электронную почту как любой правильно отформатированный адрес электронной почты? Если да, то как?
Для справки, вот используемый код C #:
MailMessage mail = new MailMessage();
mail.From = new MailAddress("not-me@acme.com");
mail.To.Add("me@acme.com");
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);
Фактически входя в систему через хуки Exchange, вы подлежите проверке отправителя. Есть разрешения, которые необходимо установить, чтобы выдавать себя за кого-то, что было сделано намеренно Microsoft. Требуемое разрешение - «Отправить как». Такая операция требуется для Blackberry Enterprise Server, поэтому нет ничего необычного.
Мы решили это сделать, чтобы предоставить пользователю (AutoMail в вашем случае) определенный ACL для объекта Domain в AD. Параметр «Применить к» предназначен для «Унаследованных пользовательских объектов» и только с установленным флажком «Отправить как». Это приведет к тому, что все объекты User в домене (если они не находятся в контейнере с отключенным наследованием прав) позволят AutoMail олицетворять их.
(источник: sysadmin1138.net)