2016-11-17 5 views
1

Ich versuche, SMTP-Relay-Setup ohne Benutzername und Passwort E-Mails von der Web-Anwendung zu senden. Ich habe gelesen, dass Sie einrichten können lokal auf dem IIS und verwenden „Keine Authentifizierung“ enter image description here In web.config, das sind meine Einstellungen:Einrichten SMTP loally ohne Benutzername, Passwort

<appSettings> 
    <add key="SmtpServerAddress" value="localhost" /> 
    <add key="SmtpServerPort" value="25" /> 
    <add key="SmtpServerTimeout" value="30" /> 
</appSettings> 
<system.net> 
<mailSettings> 
    <smtp deliveryMethod="Network" from=""> 
    <network host="localhost" port="25" /> 
    </smtp> 
</mailSettings> 

Und mein Code-Behind-E-Mail senden ist:

SmtpClient sc = new SmtpClient(); 
    sc.Host = "localhost"; 
    sc.Port = 25; 
    sc.UseDefaultCredentials = true; 
sc.DeliveryMethod = SmtpDeliveryMethod.Network; 
try 
    { 
    sc.Send(mm); 
    } 
catch (Exception ex) 
    { 
    throw ex; 
    } 

Wenn ich das Click-Ereignis absende, um Mail zu senden, bekomme ich "Remote-Server nicht gefunden".

Könnten Sie etwas Licht auf dieses Thema werfen?

+0

installieren Sie möchten, dass die Screenshot ändern, sollte diese E-Mail-Adresse wahrscheinlich nicht hier geteilt werden. – Clint

+1

Danke @Clint - Geändert! – Ron

+0

@Ron Sie noch Ihr Originalbild (das mit der unredacted E-Mail-Adresse in der Eingabe Abschnitt –

Antwort

2

Sie können localhost nicht hinzufügen und E-Mails beginnen zu senden (es sei denn es einen Lauf SMPT Server tatsächlich IST). Sie brauchen noch einen "echten" SMTP-Server. Diese Einstellungen sind nichts anderes, als einen Standard-SMTP-Server in der Web.Config hinzuzufügen.

Wenn Sie nicht diese Einstellungen in IIS festgelegt, Sie E-Mails wie diese senden. Es gibt einige Beispiele dafür auf SO. Es spart ein paar Zeilen Code

using (SmtpClient client = new SmtpClient()) 
{ 
    client.Host = "mail.fakedomain.nl"; 
    client.Port = 25; 
    client.DeliveryMethod = SmtpDeliveryMethod.Network; 
    client.UseDefaultCredentials = false; 
    client.Credentials = new NetworkCredential("[email protected]", "abcd123"); 

    //send mail 
} 

Aber wenn Sie die Standardeinstellungen in IIS festgelegt, können Sie diese

using (SmtpClient client = new SmtpClient()) 
{ 
    //send mail 
} 

tun.

Versuchen Sie dies auf Ihrem Entwicklungscomputer? Wenn dies der Fall könnten Sie hMailServer

+0

Dank @VDWWD sehen, also soll ich die Versandmethode wie nicht angeben - smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;., Wenn ich nur gebrauchte client.UserDefaultCredentials = true;? – Ron

+0

meine anser aktualisiert es klar etwas zu machen ich hoffe Unterm Strich in beiden Fällen einen SMTP-Server, den Sie noch brauchen Wenn Sie lokal entwickeln wahrscheinlich Sie die eine von Ihrem Provider nutzen könnten – VDWWD

+0

... Danke @VDWWD, ja, ich habe keine Probleme, wenn ich die Anmeldeinformationen für den SMTP-Server benutze (Benutzername, psswd), aber meine Hauptfrage hier ist, ob das SMTP-Relay-System verwendet, um E-Mails zu senden, ohne Benutzername und Passwort .. – Ron

Verwandte Themen