Ich habe dies einige Male zuvor gesehen und hier sind die Ursachen, die ich gesehen habe. Denken Sie daran, dass diese nur in einer großen Umgebung gesehen wurden. Wenn Sie sich in einer einzelnen DC- oder Exchange-Serverumgebung befinden, gelten diese nicht.
Zunächst einmal hier der MS-Artikel dazu: http://support.microsoft.com/kb/895853 . Unter den möglichen Fällen können Sie sehen, dass viele Dinge im Spiel sind.
Eine der Relay-Berechtigungen Ihres Exchange-Servers ist nicht korrekt eingerichtet.
Dies ist höchstwahrscheinlich die Ursache. Die E-Mail nimmt beim ersten und zweiten Versuch möglicherweise eine andere Route ein, während dies für beide Nachrichten albern klingt. Überprüfen Sie, ob sie denselben Server durchlaufen. Wenn Sie unterschiedliche Pfade sehen, überprüfen Sie die Einstellungen auf dem fehlerhaften, möglicherweise wird ein einfaches Zulassungsrelais für authentifizierte Benutzer nicht überprüft.
AD-Berechtigungen sind falsch
Sie müssen über die Berechtigung "Senden als" für das Konto verfügen, das die Absenderadresse aus Ihrer E-Mail enthält. Wenn es manchmal funktioniert, andere jedoch nicht, kann es sich um unterschiedliche Pfade beim Mail-Routing handeln, zwischen denen unterschiedliche Berechtigungen bestehen.
Die Authentifizierung funktioniert nicht richtig.
In der ersten Instanz des Skripts kann es sein, dass die Authentifizierung fehlschlägt. In diesem Fall wird die E-Mail verweigert, da Sie keine Berechtigung haben. Im zweiten Durchgang des Skripts ist die Authentifizierung erfolgreich. Leider kenne ich ASP nicht gut genug, um den obigen Code zu verstehen oder Ratschläge zur Behebung zu geben. smtpClient.UseDefaultCredentials ist möglicherweise nicht der richtige Code für Ihre Umgebung. Dies wird nur authentifiziert, wenn dies vom Server angefordert wird, und verwendet die Anmeldeinformationen des lokal angemeldeten Benutzers. Wenn der Server beim ersten Mal nicht nach einer Authentifizierung fragt, werden Sie nicht autorisiert und haben möglicherweise keine Berechtigung zum Senden. Versuchen Sie, es in einen Code zu ändern, der sich immer authentifiziert.
Einer Ihrer DCs oder globalen Kataloge ist veraltet oder enthält schlechte Informationen.
Dies ist selten, aber es ist möglich, dass Ihre Domänencontroller nicht synchron sind. Überprüfen Sie die Serverinformationen auf den Von- und Zu-Konten über ldap oder adsi edit und stellen Sie sicher, dass sie über alle DCs hinweg identisch sind.
Überprüfen Sie in allen Fällen die Protokolle auf dem Exchange-Server und stellen Sie sicher, dass die SMTP-Protokollierung für alle Felder aktiviert ist. Verwenden Sie die Nachrichtenverfolgung, um genau zu sehen, auf welche Server diese Nachricht trifft.