Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 986
  • Last Modified:

No connection could be made because the target machine actively refused it ipadd:port at system.Net.sockets.Socket.doConnect

Hi,

I am writing code to send  an email whenever my application has an unhandled error.

With this same code i could get it runnign on a gmail smtp server.

However, when i replaced these values wit hvalues for my smtp host, i am gettin the following error. Why am i getting this error?

I am getting the following error.System.Net.Mail.smtpException:Failure sending Mail.----->System.Net.WebException:Unable to connect to remote server---->System.Net.Sockets.socketException:No connection could be made because the target machine actively refused it ipadd:port at system.Net.sockets.Socket.doConnect


Here is my code.
Private Sub EmailTest(ByVal errorMsg As String)
    Dim SmtpServer As New SmtpClient()
    SmtpServer.Credentials = New Net.NetworkCredential("me@tremail.com", "test123")
    SmtpServer.Port = 22
    SmtpServer.Host = "smtp.myhost.com"
    SmtpServer.EnableSsl = True

    Dim mail As New MailMessage()

    Try
      mail.From = New MailAddress("me@tremail.com", "Web Developers", System.Text.Encoding.UTF8)
      mail.To.Add("target@tremail.com")
      mail.Subject = "Error Messages in Application"
      mail.Body = errorMsg
      
      SmtpServer.Send(mail)
    Catch ex As Exception
      MsgBox(ex.ToString())
    End Try

  End Sub

Open in new window

0
shahjagat
Asked:
shahjagat
  • 6
  • 3
1 Solution
 
sdrouinsCommented:
look like your firewall is blocking the port your trying to connect to
0
 
ladarlingCommented:
This could be a firewall issue, it could also be a port issue. If the server is not setup for anonymous relay, it may be expecting  connections on an SSL port. Do you have access to the server configuration, and what mail system is it running?
0
 
shahjagatAuthor Commented:
Hi sdrouins and ladarling,

I am getting this issue now.
System.Security.Authentication.AuthenticationException:The Remote Certificate is Invalid According tothe validation procedure.

Thanks
0
Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

 
shahjagatAuthor Commented:
ladarling:

The server is already set up for anonymous relay i guess as we have our outlook conencted to it.

what mail system is it running? - I am not sure what you mean by this.
Thanks
0
 
ladarlingCommented:
If you are setup for anonymous relay, you dont need to use the credentials -or- SSL, and this is normally done on port 25 for exchange.
If you need a secure socket, exchange default is Port 443, and your client machine must have the SSL certificate for the server in the trusted certificates chain.
Below is a sample function that we user here.... Replace MyExchangeServer with your actual machine name or its IP address and fill in your own Email address in the from field and it should work.


    Public Shared Function SendMail(ByVal toRecipients() As String, ByVal messageSubject As String, ByVal messageText As String, Optional ByVal ccRecipients() As String = Nothing, Optional ByVal fileAttachments() As System.IO.FileInfo = Nothing) As Boolean

        Dim client As New SmtpClient("MyExchangeServer")
        Dim msg As New MailMessage
        With msg
            For Each s As String In toRecipients
                .To.Add(s)
            Next
            For Each s As String In ccRecipients
                .CC.Add(s)
            Next
            .Subject = messageSubject
            .Body = messageText
            .From = New MailAddress("me@mydomain.com")
            For Each a As IO.FileInfo In fileAttachments
                .Attachments.Add(New Net.Mail.Attachment(a.FullName))
            Next
        End With
        Try
            client.Send(msg)
        Catch ex As Exception
            MsgBox(ex.Message)
            Return False
        End Try
        Return True

    End Function

Open in new window

0
 
ladarlingCommented:
If you are -not- interacting with a Microsoft Exchange email server, you need to verify the SSL and Relay ports for your provider and investigate what kind of authentication is necessary (if it requires SSL, for example). If this is a third party server, you will most likely have to authenticate. Try using your code again, but setting
SmtpServer.UseDefaultCredentials = False
 
0
 
shahjagatAuthor Commented:
I am working on that - Have to contact them.
0
 
shahjagatAuthor Commented:
I am not using a microsft Exchange email server. We are using a 3rd party server.
0
 
shahjagatAuthor Commented:
Hi ladarling,

when i changed  the following from true to false, i am getting the mails.
SmtpServer.EnableSsl = False

Thanks
0
 
shahjagatAuthor Commented:
Hi ,  I do not see Mark As Answer buttons.

Please award  points to ladarling - Comment ID: 33639661

Thanks
0

Featured Post

NFR key for Veeam Backup for Microsoft Office 365

Veeam is happy to provide a free NFR license (for 1 year, up to 10 users). This license allows for the non‑production use of Veeam Backup for Microsoft Office 365 in your home lab without any feature limitations.

  • 6
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now