2016-09-30 1 views
2

Ich benutze SMTP googles Server, um eine E-Mail über mein Kontaktformular zu senden..In lokalen Server funktioniert es gut, aber in Webserver zeigt es diesen Fehler. Zuerst habe ich die Portnummer verwendet, die Fehler "Sicherheitsausnahme" gibt und Fehler war auf der Leitung using (SmtpClient smtp = new SmtpClient(smtpAddress, portNumber)), aber ich habe Port geändert und es gibt diesen neuen Fehler auf der Linie.Versuch wurde auf einen Socket auf eine Weise verboten durch seine Zugriffsberechtigungen

smtp.Send(mail); 

Beschreibung:

Eine nicht behandelte Ausnahme trat während der Ausführung der aktuellen Web-Anfrage. Bitte überprüfen Sie die Stack-Trace für weitere Informationen über den Fehler und wo es aus dem Code stammt.

Ausnahmedetails:

System.Net.Sockets.SocketException: Der Versuch, eine Sockel in einer Weise, durch seine Zugriffsberechtigungen 74.125.206.108:25

verboten zuzugreifen gemacht wurde

Mein Code ist:

protected void send_Click(object sender, EventArgs e) 
{ 
    string smtpAddress = "smtp.gmail.com"; 
    int portNumber = 25; 
    bool enableSSL = true; 

    string emailfrom = "[email protected]"; 
    string password = "******"; 
    string subject = "Contact Form Data"; 
    string emailto = "[email protected]"; 
    string name = n.Value;  
    string useremail = em.Value; 
    string phone = tel.Value; 
    string dept = dep.Value; 
    string dest = des.Value; 
    string adu = ad.Value; 

    string msg = mes.Value; 
    string body = "Name: " + name + " ;" + " Email: " + useremail + " ;" + "Telephone: " + phone + " ;" + " Departure Place: " + dept + " ;" + "Destination Place: " + dest + " ;" + " Adults: " + adu + " ;" + " ;" + "Children: " + chil + " ;" + "Message: " + msg + " ;"; 

    using (MailMessage mail = new MailMessage()) 
    { 
     mail.From = new MailAddress(emailfrom); 
     mail.To.Add(emailto); 
     mail.Subject = subject; 
     mail.Body = body; 
     mail.IsBodyHtml = true; 

     using (SmtpClient smtp = new SmtpClient(smtpAddress, portNumber)) 
     { 
      smtp.Credentials = new NetworkCredential(emailfrom, password); 
      smtp.EnableSsl = enableSSL; 
      smtp.Send(mail); 
     } 
    } 
} 

Stack Trace

[Socket (0x271d): Es wurde versucht, eine Fassung in einer Weise durch seine Zugriffsberechtigungen verboten Zugriff auf 74.125.206.108:25] System.Net.Sockets.Socket.DoConnect (EndPoint endPointSnapshot, Socketsocket) +208 System.Net.ServicePoint.ConnectSocketInternal (Boolean connectFailure, Sockel s4, s6 Sockel, Socket & Buchse, IPAddress & Adresse, ConnectSocketState Zustand IAsyncResult asyncResult, Exception & Ausnahme) 464

[WebException: konnte keine Verbindung zum Remote-Server verbinden] System.Net.ServicePoint.GetConnection (PooledStream PooledStream, Objekteigentümer, Boolean async, IPAddress & Adresse, Socket & abortSocket, Sockel & abortSocket6) 6662436 System.Net.PooledStream.Activate (Object owningObject, Boolean async, GeneralAsyncDelegate AsyncCallback) 307 System.Net.PooledStream.Activate (Object owningObject, GeneralAsyncDelegate AsyncCallback) +19 System.Net.ConnectionPool.GetConnection (Object owningObject, AllgemeinAsy ncDelegate AsyncCallback, Int32 creationTimeout) 324 System.Net.Mail.SmtpConnection.GetConnection (Servicepoint servicepoint) +141 System.Net.Mail.SmtpTransport.GetConnection (Servicepoint servicepoint) +170 System.Net.Mail.SmtpClient. GetConnection() +44 System.Net.Mail.SmtpClient.Send (Mailmessage Nachricht) +1554

[SmtpException. Fehler beim Senden von E-Mail] System.Net.Mail.SmtpClient.Send (MailMessage-Nachricht) +1906 Contact.send_Click (Objektabsender, EventArgs e) in \ smb-whst-www02 \ whst_www02 $ \ ff8b1b \ user \ medviewair.uk \ web \ Contact.aspx.cs: 51 System.Web.UI.WebControls.Button.OnClick (EventArgse) 9628462 System.Web.UI.WebControls.Button.RaisePostBackEvent (String eventargument) +103 System.Web.UI.WebControls.Button.System.Web .UI.IPostBackEventHandler.RaisePostBackEvent (String eventargument) +10 System.Web.UI.Page.RaisePostBackEvent (IPostBackEventHandler Sourcecontrol, String eventargument) +13 System.Web.UI.Page.RaisePostBackEvent (Namevaluecollection postdata) +35 System.Web.UI.Page.ProcessRequestMain (Boolean inc ludeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1724

+0

Sie zu deaktivieren Haben versucht [dies] (http://stackoverflow.com/questions/20779336/an-attempt-was-made-to-access-a-socket-in-a-way-forbidden-by-its-access-permiss)? – knobcreekman

+0

Wenn es lokal, aber nicht auf dem Webserver funktioniert, überprüfen Sie die Firewall auf dem Webserver, um sicherzustellen, dass ausgehende Verbindungen auf dem ausgewählten Port zulässig sind. Versuchen Sie, eine Verbindung vom Webserver zu Ihrem SMTP-Server herzustellen, indem Sie 'telnet' über dem von Ihnen ausgewählten Port verwenden. Haben Sie auch versucht, eine Verbindung über Port 465 herzustellen? Oder versuche Port 25 mit 'smtp.EnableSsl = false;' – knobcreekman

+0

Ich habe verschiedene Portnummern ausprobiert und enableSSL auf false gesetzt, funktioniert aber immer noch nicht. –

Antwort

2

Bitte überprüfen Sie, dass Ihr Webserver richtig konfiguriert ist, und es ist und läuft.

Im Falle, wenn die Anwendung eine Ausnahme wirft dann folgen die folgenden Schritte

  1. Gehen Sie auf "Start" -> "Systemsteuerung"
  2. Klicken Sie auf "Windows-Firewall" enter image description here

  3. Inside Windows-Firewall finden Sie auf "Programm oder Feature durch die Windows-Firewall" enter image description here

  4. Jetzt innerhalb von Allow-Programme, klicken Sie auf "Einstellungen ändern". Sobald Sie auf die Schaltfläche Einstellungen ändern geklickt haben, wird die Schaltfläche "Erlaube ein anderes Programm ..." aktiviert.

  5. Klicken Sie auf "Erlaube ein anderes Programm ...", ein neues Dialogfeld wird geöffnet. Wählen Sie die Programme oder Anwendungen, für die Sie die Socket-Ausnahme erhalten, und klicken Sie auf "Hinzufügen". enter image description here 6. Klicken Sie auf OK, und starten Sie den Computer neu.

  6. Versuchen Sie, Ihre Anwendung (die eine Ausnahme hat) mit Administratorrechten auszuführen.

Ich hoffe, das hilft.

Frieden,

Sunny Makode

0

Ich hatte Kaspersky End Point Security Anti-Virus-

0

Ich habe deaktiviert McAfee und es funktionierte, sicherlich seine Firewall oder Antivirus-Einstellungen

Verwandte Themen