Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

"An attempt was made to access a socket in a way forbidden by its access permissions" while using SMTP

Tags:

I am trying to send an SMTP email when certain values in database crosses its threshold value.

I have already allowed ports 25,587 and 465 in the Windows firewall and disabled the option of preventing mass mail in the Antivirus. The code I am using is given below

using System.Net; using System.Net.Mail; using System.Net.Security; using System.Security.Cryptography.X509Certificates;   MailMessage mailMsg = new MailMessage();         mailMsg.To.Add("[email protected]");         // From         MailAddress mailAddress = new MailAddress("[email protected]");         mailMsg.From = mailAddress;           // Subject and Body         mailMsg.Subject = "MCAS Alert";         mailMsg.Body = "Parameter out of range";           SmtpClient smtpClient = new SmtpClient("smtp.servername.com", 25);         smtpClient.UseDefaultCredentials = false;         smtpClient.Timeout = 30000;         System.Net.NetworkCredential credentials =            new System.Net.NetworkCredential("username", "passwrod");         smtpClient.Credentials = credentials;         smtpClient.EnableSsl = true;         //ServicePointManager.ServerCertificateValidationCallback = delegate(object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return true; };         smtpClient.Send(mailMsg); 

Stack Trace

[SocketException (0x271d): An attempt was made to access a socket in a way forbidden by its access permissions xx.xx.xx.xx:25]    System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) +208    System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception) +464  [WebException: Unable to connect to the remote server]    System.Net.ServicePoint.GetConnection(PooledStream PooledStream, Object owner, Boolean async, IPAddress& address, Socket& abortSocket, Socket& abortSocket6) +6486360    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, GeneralAsyncDelegate 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 message) +1554  [SmtpException: Failure sending mail.]    System.Net.Mail.SmtpClient.Send(MailMessage message) +1906    Admin_Alert.SMTPAuth() in c:\Users\spandya\Documents\Visual Studio 2012\WebSites\WebSite3\Admin\Alert.aspx.cs:61    Admin_Alert.Page_Load(Object sender, EventArgs e) in c:\Users\spandya\Documents\Visual Studio 2012\WebSites\WebSite3\Admin\Alert.aspx.cs:22    System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +51    System.Web.UI.Control.OnLoad(EventArgs e) +92    System.Web.UI.Control.LoadRecursive() +54    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +772 

What else I am missing here? Firewall inbound rules are there for these specific port addresses.

like image 259
SPandya Avatar asked Dec 26 '13 04:12

SPandya


1 Answers

Please confirm that your firewall is allowing outbound traffic and that you are not being blocked by antivirus software.

I received the same issue and the culprit was antivirus software.

like image 56
Glenn Ferrie Avatar answered Oct 07 '22 04:10

Glenn Ferrie