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:
verboten zuzugreifen gemacht wurdeSystem.Net.Sockets.SocketException: Der Versuch, eine Sockel in einer Weise, durch seine Zugriffsberechtigungen 74.125.206.108:25
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
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
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
Ich habe verschiedene Portnummern ausprobiert und enableSSL auf false gesetzt, funktioniert aber immer noch nicht. –