Soll der Benutzer in Exchange als beliebiger Benutzer senden?

Soll der Benutzer in Exchange als beliebiger Benutzer senden?

Ich habe ein .NET-Programm – einen Windows-Dienst –, das sich mit Exchange verbindet, um E-Mails zu senden. Ziel ist es, E-Mails zu senden, die so aussehen, als kämen sie von einer beliebigen Anzahl von E-Mail-Adressen innerhalb der Domänen meines Arbeitgebers. Das Programm authentifiziert sich mit einem Active Directory-Konto – genannt „AutoMail“ – und das Problem besteht darin, dass Exchange den folgenden Fehlerantwortcode ausgibt:

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

Wenn ich die Netzwerkanmeldeinformationen in meinen A/D-Login ändere und E-Mails als von mir stammend sende, funktioniert es problemlos.

Meine Frage lautet also: Kann der AutoMail-Benutzer von der Exchange-Seite aus so konfiguriert werden, dass er E-Mails mit jeder gültig formatierten E-Mail-Adresse senden darf? Und wenn ja, wie?

Als Referenz ist hier der verwendete C#-Code:

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);

Antwort1

Wenn Sie sich tatsächlich über Exchange-Hooks anmelden, unterliegen Sie der Absendervalidierung. Es müssen Berechtigungen festgelegt werden, um sich als jemand anderes auszugeben, was von Microsoft absichtlich getan wurde. Die gesuchte Berechtigung ist „Senden als“. Diese Art von Vorgang wird von einem Blackberry Enterprise Server benötigt und ist daher nicht ungewöhnlich.

Wir haben das Problem gelöst, indem wir dem Benutzer (in Ihrem Fall AutoMail) eine bestimmte ACL für das Domänenobjekt in AD geben. „Anwenden auf“ ist für „Verstorbene Benutzerobjekte“ und nur das Kontrollkästchen „Senden als“ ist aktiviert. Dadurch wird AutoMail ermöglicht, sich als Benutzerobjekte in der Domäne auszugeben (sofern sie sich nicht in einem Container mit deaktivierter Rechtevererbung befinden).

Beispiel für die Benutzerberechtigung „Senden als“
(Quelle:sysadmin1138.net)

verwandte Informationen