2016-11-17 5 views
1

Ich versuche, eine E-Mail von meiner mvc-Anwendung zu senden. Es folgt ein Teil des Codes Ich verwende:SmtpException: Ich kann das IIS-Abholverzeichnis nicht abrufen

SmtpClient smtpClient = new SmtpClient(); 
smtpClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis; 
smtpClient.UseDefaultCredentials = true; 
smtpClient.Send(message); 

Der obige Code gibt den Fehler:

Cannot get IIS pickup directory SmtpException.

Aber wenn ich mein Visual Studio als Administrator ausführen, werden E-Mails erfolgreich gesendet.

Wenn ich richtig verstehe, ist das Problem in Bezug auf Zugriffsberechtigungen, aber ich kann einfach nicht herausfinden, was. Wenn relevant, ist die Anwendung eine Intranetanwendung mit Windows-Authentifizierung.

+0

Je weiter man kommt, desto mehr Gründe dafür, Visual Studio immer als Admin auszuführen. Das Debuggen von ASP.NET-Websites und das Verwenden von IIS gehören zu diesen Gründen. Es ist zu einem der ersten Dinge geworden, auf die ich mich bei einer neuen Entwicklungsmaschine verlassen kann. Eine Liste der Funktionen/Aktionen, die Administratorrechte erfordern, finden Sie auf dieser Seite: https://msdn.microsoft.com/en-us/library/jj662724.aspx –

Antwort

1

versuchen, die Pickup-Verzeichnis Einstellung manuell:

// C#

client.PickupDirectoryLocation = ...; 

Oder dies in ASP.NET Web.config statt gesetzt:

<configuration> 
    <system.net> 
     <mailSettings> 
      <smtp deliveryMethod="SpecifiedPickupDirectory"> 
       <specifiedPickupDirectory 
        pickupDirectoryLocation="..." /> 
       <network defaultCredentials="false" /> 
      </smtp> 
     </mailSettings> 
    </system.net> 
</configuration> 
+0

Das hat funktioniert :-). Vielen Dank – ShyProgrammer

+0

Aus Neugier, warum muss ich das Pickup-Verzeichnis nicht manuell für Admin einstellen. Ich meine, warum kann ich nicht das Pickup-Verzeichnis für Benutzer, die nicht Admin sind. – ShyProgrammer

+0

Sorry, wenn das lahm ist. Erste Anwendung, neu in all dem. – ShyProgrammer

Verwandte Themen