Archived Forum Post

Index of archived forum posts

Question:

mailman settings for Hotmail

Apr 15 '14 at 22:04

Hi all,

The following is the complete source for a function I've written to send SMTP and HTTP email via the latest ChilKat ActiveX component. This code works perfectly for GMain and Yahoo, but does not work for Hotmail.

These are the mailman parameters I set for GMail:

rmQMain.mailman.SmtpHost = smtp.gmail.com frmQMain.mailman.SmtpUsername = "vitalida71" frmQMain.mailman.SmtpPassword = "****" ' Redacted frmQMain.mailman.SmtpSsl = 1 frmQMain.email.FromAddress = "vitalida71@gmail.com" frmQMain.email.fromName = "David Vitali"

Can anyone tell me what the correct setting should be for Hotmail? I've tried everything. The code I'm using is below as attachment 1. Attachment 2 (further down) is the debug log generated by the Chlkat email library.

Attachment 1: Code used to send email (complete function)

Public Function SMTPSendEmail(ByVal frmCaller As Form, _
                                ByVal dtaConfig As Data, _
                                ByRef ToList As String, _
                                ByRef CCList As String, _
                                ByRef Subject As String, _
                                ByRef Message As String, _
                                ByRef AttachmentList As String, _
                                ByVal crystReport As CrystalReport, _
                                ByVal tmrTimer As Timer, _
                                Optional ByRef sbStatus As StatusBar) As Boolean

Dim CancelFlag As Boolean               ' Operation cancelled flag
Dim DelimitedStrings() As String        ' Array of strings with delimiters (',') removed
Dim ErrorString As String               ' Error string
Dim NumberOfAttachments As Integer      ' Number of files attached
Dim Body As String                      ' Email body
Dim i As Integer                        ' Object index
Dim f As frmEmailErrorDetails           ' For display of error logs
Dim RS As Recordset                     ' Config recordset
Dim IsRetrySend As Boolean              ' TRUE retry of the send process, FALSE otherwise
Dim success As Long                     ' Return code

    ' Register error handler
    On Error GoTo ErrorHandler

    ' General initialisations
    Set RS = Nothing
    Set frmPassword = Nothing
    Set frmQMain.GlobalProgressBar = Nothing
    frmQMain.ProcessMailManEvents = False
    SMTPSendEmail = False

    ' Load the password entry form. The user enters the email password once per session
    Call Load(frmPassword)

    ' Get the protocol parameter values from the Config table
    Set RS = frmQMain.ConfigDB.OpenRecordset("Config", dbOpenTable)

    With RS
        frmQMain.Protocol = .Fields("Protocol").Value
        frmQMain.UserName = .Fields("UserName").Value
        frmQMain.EmailAddress = .Fields("EmailAddress").Value
        frmQMain.DisplayName = .Fields("DisplayName").Value
        frmQMain.ServerName = .Fields("ServerName").Value
        frmQMain.PortNumber = .Fields("PortNumber").Value
        frmQMain.UseSSL = .Fields("UseSSL").Value
    End With

    ' Check if the protocol parameters have been set
    If (frmQMain.Protocol = "") Then GoTo SetEmailDetailsExit
    If (frmQMain.UserName = "") Then GoTo SetEmailDetailsExit
    If (frmQMain.EmailAddress = "") Then GoTo SetEmailDetailsExit
    If (frmQMain.DisplayName = "") Then GoTo SetEmailDetailsExit
    If (frmQMain.ServerName = "") Then GoTo SetEmailDetailsExit
    If (frmQMain.PortNumber = "") Then GoTo SetEmailDetailsExit

    ' Prompt for password if none was present
    If (frmQMain.Password = "") Then
        Call frmPassword.Show(vbModal)
        If (Not frmPassword.Cancelled) Then
            ' Password is now set
            frmQMain.Password = frmPassword.Password()
        Else
            GoTo CommonExit
        End If
    End If

    ' Parameterize and display the Email details entry form to allow the user to specify target
    ' address, CCs, subject, message and attachments
    Call frmEmailDetails.SetInterfaceData("", "", Subject, Message, AttachmentList)

    Call frmEmailDetails.Show(vbModal)

    ' Retrieve data from Email details entry form
    Call frmEmailDetails.GetInterfaceData(CancelFlag, ToList, CCList, Subject, Message, AttachmentList)

    Call Unload(frmEmailDetails)

    ' Check if user cancelled the operation
    If (Not CancelFlag) Then
        ErrorString = "Setup progress indicator"

        ' Setup the email process status bar
        Set frmQMain.GlobalProgressBar = New frmProgress
        Call Load(frmQMain.GlobalProgressBar)

        Call frmQMain.GlobalProgressBar.Initialise(mdiQuoteEd)
        frmQMain.GlobalProgressBar.ProgressStopEnable = True
        frmQMain.GlobalProgressBar.ProgressCloseEnable = False
        frmQMain.GlobalProgressBar.ProgressClass.ProgressDelayEnable = False
        frmQMain.GlobalProgressBar.ProgressClass.ProgressBarMax = 100
        frmQMain.GlobalProgressBar.ProgressClass.ProgressBarStages = 100
        frmQMain.GlobalProgressBar.ProgressClass.LastProgressUpdateTime = Now
        frmQMain.GlobalProgressBar.StatusPanel1Text = "Send progress"

        ' Hide the progress bar as the ChilKat library is failing to fire the 'PercentDone' event
        ' TO DO: follow up with ChilKat support
        frmQMain.GlobalProgressBar.ProgressClass.ProgressBarVisibility = False

        Call frmQMain.GlobalProgressBar.Show(vbModeless)    ' Display the progress form
        Call frmQMain.GlobalProgressBar.Refresh
        DoEvents

        frmQMain.ProcessMailManEvents = True                ' Start processing mailman events

        ' Update the status bar to indicate signon in progress
        If (Not IsMissing(sbStatus)) Then sbStatus.Panels(1).Text = "Checking email subsystem..."

        ErrorString = "Create mail objects"

        ' Compose new objects including email message and mailman to send it
        Set f = New frmEmailErrorDetails
        Set frmQMain.email = New ChilkatEmail
        Set frmQMain.mailman = New ChilkatMailMan

        ErrorString = "Unlock mailman component"

        ' Unlock mailman component
        If (Not frmQMain.mailman.IsUnlocked) Then
            success = frmQMain.mailman.UnlockComponent("30-day trial")
            If (success <> 1) Then GoTo EmailQuoteError
        End If

        ' Clear SMTP log and enable verbose logging
        frmQMain.mailman.ClearSmtpSessionLog

        If (modEasyQProcs.FileExists(App.Path + "\Email Connection Log.txt")) Then
            Call modEasyQProcs.DeleteFile(App.Path + "\Email Connection Log.txt")
        End If

        frmQMain.mailman.DebugLogFilePath = App.Path + "\Email Connection Log.txt"
        frmQMain.mailman.VerboseLogging = 1

        If (frmQMain.Protocol = "SMTP") Then
            ' Set SMTP logon parameters
            frmQMain.mailman.SmtpHost = frmQMain.ServerName      ' SMTP host
            frmQMain.mailman.SmtpUsername = frmQMain.UserName    ' User login name
            frmQMain.mailman.SmtpPassword = frmQMain.Password    ' User login password

            If (frmQMain.UseSSL) Then
                frmQMain.mailman.SmtpSsl = 1                     ' Using SSL
            Else
                frmQMain.mailman.SmtpSsl = 0                     ' Not using SSL
            End If

            If (frmQMain.AuthenticationMode <> "NONE") Then frmQMain.mailman.SmtpAuthMethod = frmQMain.AuthenticationMode
            frmQMain.mailman.SmtpPort = frmQMain.PortNumber      ' SSL port number

        ElseIf (frmQMain.Protocol = "HTTP") Then
            ' Set HTTP logon parameters
            frmQMain.mailman.HttpProxyHostname = frmQMain.ServerName    ' HTTP host
            frmQMain.mailman.HttpProxyUsername = frmQMain.UserName      ' User login name
            frmQMain.mailman.HttpProxyPassword = frmQMain.Password      ' User login password                                                     ' Not using SSL

            If (frmQMain.AuthenticationMode <> "NONE") Then frmQMain.mailman.HttpProxyAuthMethod = frmQMain.AuthenticationMode
            frmQMain.mailman.HttpProxyPort = frmQMain.PortNumber        ' SSL port number
        End If

        ' Set misc email parameters
        frmQMain.email.FromAddress = frmQMain.EmailAddress
        frmQMain.email.fromName = frmQMain.DisplayName + " <" + frmQMain.EmailAddress + ">"

        If (Not IsMissing(sbStatus)) Then sbStatus.Panels(1).Text = "Composing email..."

        ErrorString = "To recipients"

        ' Insert "To" recipients from delimited list
        DelimitedStrings = Split(ToList, EMAIL_LIST_DELIMITER)
        For i = LBound(DelimitedStrings) To UBound(DelimitedStrings)
            success = frmQMain.email.AddTo(DelimitedStrings(i), DelimitedStrings(i))
            If (success <> 1) Then GoTo EmailQuoteError
        Next i

        ErrorString = "CC recipients"

        ' Insert "CC" recipients from delimited list
        DelimitedStrings = Split(CCList, EMAIL_LIST_DELIMITER)
        For i = LBound(DelimitedStrings) To UBound(DelimitedStrings)
            success = frmQMain.email.AddCC(DelimitedStrings(i), DelimitedStrings(i))
            If (success <> 1) Then GoTo EmailQuoteError
        Next i

        ErrorString = "attachments"

        NumberOfAttachments = 0
        Body = ""

        ' Add finalised list of attachments from delimited list created in the Email Details form
        DelimitedStrings = Split(AttachmentList, EMAIL_LIST_DELIMITER)
        For i = LBound(DelimitedStrings) To UBound(DelimitedStrings)
            If (frmQMain.email.AddFileAttachment(DelimitedStrings(i)) = "") Then GoTo EmailQuoteError
            NumberOfAttachments = NumberOfAttachments + 1
            Body = Space(1) + Body  ' Add a space for the attachment
        Next i

        ErrorString = "subject and body"

        ' Set the subject and message body fields
        frmQMain.email.Subject = Subject

        If (NumberOfAttachments > 0) Then Body = Body + vbCrLf
        Body = Body + Message

        frmQMain.email.Body = Body

        ' Update the status bar to indicate message is being sent
        If (Not IsMissing(sbStatus)) Then sbStatus.Panels(1).Text = "Sending email and waiting for completion..."

        ErrorString = "send"

        ' Send the message
        IsRetrySend = False

RetrySend:
        success = frmQMain.mailman.SendEmail(frmQMain.email)
        If (success = 0) Then
            If (Not IsRetrySend) Then
                IsRetrySend = True

                ' Re-trying the send with an automatic look up of the server name
                If (frmQMain.Protocol = "SMTP") Then
                    frmQMain.mailman.SmtpHost = frmQMain.mailman.MxLookup(frmQMain.EmailAddress)
                ElseIf (frmQMain.Protocol = "HTTP") Then
                    frmQMain.mailman.HttpProxyHostname = frmQMain.mailman.MxLookup(frmQMain.EmailAddress)
                End If

                GoTo RetrySend
            End If
        End If

        ' Print a message if the email was sent successfully
        If (success = 1) Then
            Call MsgBox("Email sent successfully.", vbOKOnly Or vbInformation, "Interact EasyQuote")
            SMTPSendEmail = True
        Else
            GoTo EmailQuoteError
        End If
    Else
        Call MsgBox("Email transmission cancelled. Email not sent.", vbOKOnly Or vbInformation, "Interact EasyQuote")
    End If

    GoTo CommonExit

ErrorHandler:
    Call NonCriticalError(MODULE, Err, "MAPISendEmail:ErrorHandler", "(current action = " + ErrorString + ")")
    GoTo CommonExit

SetEmailDetailsExit:
    Call MsgBox("Before sending Email you must fill out the Email parameters in the Options dialog Email tab. See Tools | Options on the main form.", vbOKOnly Or vbInformation, "Interact EasyQuote")
    GoTo CommonExit

EmailQuoteError:
    Call MsgBox("Email was not sent (email error = " + CStr(success) + "): Current action = " + ErrorString + ".", vbOKOnly Or vbInformation, "Interact EasyQuote")
    Call Load(f)
    f.ErrorSource = "ChilKat mail object"

#If VERS_TEST Then
    f.ErrorLog = frmQMain.email.LastErrorXml
#Else
    f.ErrorLog = frmQMain.email.LastErrorText
#End If

    Call f.Show(vbModal)
    GoTo CommonExit

EmailQuoteError2:
    Call MsgBox("Email was not sent (mailman error = " + CStr(success) + "): Current action = " + ErrorString + ".", vbOKOnly Or vbInformation, "Interact EasyQuote")
    Call Load(f)
    f.ErrorSource = "ChilKat mailman"

#If VERS_TEST Then
    f.ErrorLog = frmQMain.mailman.LastErrorXml
#Else
    f.ErrorLog = frmQMain.mailman.LastErrorText
#End If

    Call f.Show(vbModal)

    ' Fall thru

CommonExit:             ' Common exit point
    ' Clear error and execute common exit code
    Err.Clear
    ' Fall thru

    ' Force cleanup, clear any error and exit
    On Error Resume Next

    If (frmQMain.Protocol = "SMTP") Then
        Call frmQMain.mailman.CloseSmtpConnection
    End If

    If (Not (frmQMain.GlobalProgressBar Is Nothing)) Then
        frmQMain.GlobalProgressBar.ProgressCloseEnable = True
        Call Unload(frmQMain.GlobalProgressBar)
        Set frmQMain.GlobalProgressBar = Nothing
    End If

    If (Not (frmPassword Is Nothing)) Then
        Call Unload(frmPassword)
        Set frmPassword = Nothing
    End If

    If (Not (frmQMain.email Is Nothing)) Then Set frmQMain.email = Nothing
    If (Not (frmQMain.mailman Is Nothing)) Then Set frmQMain.mailman = Nothing

    If (Not (RS Is Nothing)) Then
        Call RS.Close
        Set RS = Nothing
    End If

    ' Reset the status bar to idle state
    If (Not IsMissing(sbStatus)) Then sbStatus.Panels(1).Text = SB_IDLE

    ' End of error handler scope
    On Error GoTo 0
End Function

Attachment 2: ChilKat debug log produced when attempting to connect to Hotmail

SendEmail: DllDate: Mar 27 2014 ChilkatVersion: 9.5.0.23 UnlockPrefix: 30-day trial Username: DAVID-LT-I7:DAVID Architecture: Little Endian; 32-bit Language: ActiveX VerboseLogging: 1 recipients: TO: vitalida@msn.com totalCount: 1 (leaveContext) renderToMime: createEmailForSending: xSigningAlg: sha1 Auto-generating Message-ID assembleMimeBody: contentType: multipart/mixed isEmailAttachment: attachmentReason: contentType: multipart/mixed subject: Seubert's Panel and Paint: Quote5165.txt from: "David Vitali <vitalida@msn.com>" <vitalida@msn.com> No (multipart enclosure) (leaveContext) (leaveContext) assembleMimeBody: contentType: text/plain isEmailAttachment: attachmentReason: contentType: text/plain No, attachment is not indicated. (leaveContext) (leaveContext) getEncodedBody: contentType: text/plain cp: 0 (leaveContext) (leaveContext) assembleMimeBody: contentType: text/plain isEmailAttachment: attachmentReason: contentType: text/plain disposition: attachment filename: Quote5165.txt name: Quote5165.txt Yes (disposition=attachment) (leaveContext) (leaveContext) getEncodedBody: contentType: text/plain (leaveContext) (leaveContext) (leaveContext) createFromMimeText: loadMimeComplete: loadMimeHeaderText: (leaveContext) parseMimeBody: loadMimeComplete: loadMimeHeaderText: (leaveContext) parseMimeBody: setMimeBodyByEncoding: setMimeBodyQP: (leaveContext) (leaveContext) (leaveContext) (leaveContext) loadMimeComplete: loadMimeHeaderText: (leaveContext) parseMimeBody: setMimeBodyByEncoding: setMimeBodyQP: (leaveContext) (leaveContext) (leaveContext) (leaveContext) (leaveContext) (leaveContext) loadFromMimeTextProcessing: (leaveContext) createFromMimeObject: createRfc822Address: (leaveContext) createRfc822Addresses: createRfc822Address: (leaveContext) (leaveContext) loadMimeHeaderText: (leaveContext) createFromMimeObject: loadMimeHeaderText: (leaveContext) Setting email body (A) (leaveContext) createFromMimeObject: loadMimeHeaderText: (leaveContext) Setting email body (A) (leaveContext) Setting email body (A) (leaveContext) (leaveContext) (leaveContext) assembleMimeBody: contentType: multipart/mixed isEmailAttachment: attachmentReason: contentType: multipart/mixed subject: Seubert's Panel and Paint: Quote5165.txt from: "David Vitali <vitalida@msn.com>" <vitalida@msn.com> No (multipart enclosure) (leaveContext) (leaveContext) assembleMimeBody: contentType: text/plain isEmailAttachment: attachmentReason: contentType: text/plain No, attachment is not indicated. (leaveContext) (leaveContext) getEncodedBody: contentType: text/plain cp: 1252 Converting from utf-8... (leaveContext) (leaveContext) assembleMimeBody: contentType: text/plain isEmailAttachment: attachmentReason: contentType: text/plain disposition: attachment filename: Quote5165.txt name: Quote5165.txt Yes (disposition=attachment) (leaveContext) (leaveContext) getEncodedBody: contentType: text/plain (leaveContext) (leaveContext) Email assembled. (leaveContext) renderToMime: Elapsed time: 47 millisec (leaveContext) progressTotal: 9621 SmtpConnect: SmtpHost: smtp.hotmail.com SmtpPort: 25 SmtpUsername: vitalida SmtpPassword: volep:0D SmtpSsl: 0 StartTLS: 0 Need new SMTP connection checkForExistingConnection: Elapsed time: 0 millisec SMTP_Connect: Connecting to SMTP server smtp.hotmail.com:25 smtp_host: smtp.hotmail.com smtp_port: 25 smtp_user: vitalida connect2: hostname: smtp.hotmail.com port: 25 ssl: 0 connectSocket: domainOrIpAddress: smtp.hotmail.com port: 25 connectTimeoutMs: 30000 connect_ipv6_or_ipv4: Multi-threaded domain to IP address resolution resolveHostname6: getAddressInfo: Failed to get host address info. (3) SocketError: Error 0xb7 Check to make sure the connection is not blocked by a firewall or anti-virus port filtering. hostOrIpAddr: smtp.hotmail.com port: 25 Versions of Windows earlier than Windows XP are limited to handling IPv4 only On Windows Server 2003 and Windows XP, IPv6 addresses are returned only if IPv6 is installed on the local computer. (leaveContext) (leaveContext) Domain to IP address resolution failed. (leaveContext) (leaveContext) failReason2: 2 (leaveContext) Failed to connect to SMTP server. (leaveContext) checkOrMakeSmtpConnection: Elapsed time: 16 millisec (leaveContext) Failed. (leaveContext) MxLookup: DllDate: Mar 27 2014 ChilkatVersion: 9.5.0.23 UnlockPrefix: 30-day trial Username: DAVID-LT-I7:DAVID Architecture: Little Endian; 32-bit Language: ActiveX VerboseLogging: 1 emailAddr: vitalida@msn.com createRfc822Address: (leaveContext) hostname: mx4.hotmail.com Success. (leaveContext) SendEmail: DllDate: Mar 27 2014 ChilkatVersion: 9.5.0.23 UnlockPrefix: 30-day trial Username: DAVID-LT-I7:DAVID Architecture: Little Endian; 32-bit Language: ActiveX VerboseLogging: 1 recipients: TO: vitalida@msn.com totalCount: 1 (leaveContext) renderToMime: createEmailForSending: xSigningAlg: sha1 Auto-generating Message-ID assembleMimeBody: contentType: multipart/mixed isEmailAttachment: attachmentReason: contentType: multipart/mixed subject: Seubert's Panel and Paint: Quote5165.txt from: "David Vitali <vitalida@msn.com>" <vitalida@msn.com> No (multipart enclosure) (leaveContext) (leaveContext) assembleMimeBody: contentType: text/plain isEmailAttachment: attachmentReason: contentType: text/plain No, attachment is not indicated. (leaveContext) (leaveContext) getEncodedBody: contentType: text/plain cp: 0 (leaveContext) (leaveContext) assembleMimeBody: contentType: text/plain isEmailAttachment: attachmentReason: contentType: text/plain disposition: attachment filename: Quote5165.txt name: Quote5165.txt Yes (disposition=attachment) (leaveContext) (leaveContext) getEncodedBody: contentType: text/plain (leaveContext) (leaveContext) (leaveContext) createFromMimeText: loadMimeComplete: loadMimeHeaderText: (leaveContext) parseMimeBody: loadMimeComplete: loadMimeHeaderText: (leaveContext) parseMimeBody: setMimeBodyByEncoding: setMimeBodyQP: (leaveContext) (leaveContext) (leaveContext) (leaveContext) loadMimeComplete: loadMimeHeaderText: (leaveContext) parseMimeBody: setMimeBodyByEncoding: setMimeBodyQP: (leaveContext) (leaveContext) (leaveContext) (leaveContext) (leaveContext) (leaveContext) loadFromMimeTextProcessing: (leaveContext) createFromMimeObject: createRfc822Address: (leaveContext) createRfc822Addresses: createRfc822Address: (leaveContext) (leaveContext) loadMimeHeaderText: (leaveContext) createFromMimeObject: loadMimeHeaderText: (leaveContext) Setting email body (A) (leaveContext) createFromMimeObject: loadMimeHeaderText: (leaveContext) Setting email body (A) (leaveContext) Setting email body (A) (leaveContext) (leaveContext) (leaveContext) assembleMimeBody: contentType: multipart/mixed isEmailAttachment: attachmentReason: contentType: multipart/mixed subject: Seubert's Panel and Paint: Quote5165.txt from: "David Vitali <vitalida@msn.com>" <vitalida@msn.com> No (multipart enclosure) (leaveContext) (leaveContext) assembleMimeBody: contentType: text/plain isEmailAttachment: attachmentReason: contentType: text/plain No, attachment is not indicated. (leaveContext) (leaveContext) getEncodedBody: contentType: text/plain cp: 1252 Converting from utf-8... (leaveContext) (leaveContext) assembleMimeBody: contentType: text/plain isEmailAttachment: attachmentReason: contentType: text/plain disposition: attachment filename: Quote5165.txt name: Quote5165.txt Yes (disposition=attachment) (leaveContext) (leaveContext) getEncodedBody: contentType: text/plain (leaveContext) (leaveContext) Email assembled. (leaveContext) renderToMime: Elapsed time: 47 millisec (leaveContext) progressTotal: 9621 SmtpConnect: SmtpHost: mx4.hotmail.com SmtpPort: 25 SmtpUsername: vitalida SmtpPassword: volep:0D SmtpSsl: 0 StartTLS: 0 Need new SMTP connection checkForExistingConnection: Elapsed time: 0 millisec SMTP_Connect: Connecting to SMTP server mx4.hotmail.com:25 smtp_host: mx4.hotmail.com smtp_port: 25 smtp_user: vitalida connect2: hostname: mx4.hotmail.com port: 25 ssl: 0 connectSocket: domainOrIpAddress: mx4.hotmail.com port: 25 connectTimeoutMs: 30000 connect_ipv6_or_ipv4: Multi-threaded domain to IP address resolution resolveHostname6: getAddressInfo: (leaveContext) (leaveContext) AddrInfoList: AddrInfo: ai_flags: 0 ai_family: 2 ai_socktype: 0 ai_protocol: 0 ai_addrlen: 16 ai_canonname: (NULL) (leaveContext) AddrInfo: ai_flags: 0 ai_family: 2 ai_socktype: 0 ai_protocol: 0 ai_addrlen: 16 ai_canonname: (NULL) (leaveContext) AddrInfo: ai_flags: 0 ai_family: 2 ai_socktype: 0 ai_protocol: 0 ai_addrlen: 16 ai_canonname: (NULL) (leaveContext) AddrInfo: ai_flags: 0 ai_family: 2 ai_socktype: 0 ai_protocol: 0 ai_addrlen: 16 ai_canonname: (NULL) (leaveContext) AddrInfo: ai_flags: 0 ai_family: 2 ai_socktype: 0 ai_protocol: 0 ai_addrlen: 16 ai_canonname: (NULL) (leaveContext) AddrInfo: ai_flags: 0 ai_family: 2 ai_socktype: 0 ai_protocol: 0 ai_addrlen: 16 ai_canonname: (NULL) (leaveContext) AddrInfo: ai_flags: 0 ai_family: 2 ai_socktype: 0 ai_protocol: 0 ai_addrlen: 16 ai_canonname: (NULL) (leaveContext) AddrInfo: ai_flags: 0 ai_family: 2 ai_socktype: 0 ai_protocol: 0 ai_addrlen: 16 ai_canonname: (NULL) (leaveContext) AddrInfo: ai_flags: 0 ai_family: 2 ai_socktype: 0 ai_protocol: 0 ai_addrlen: 16 ai_canonname: (NULL) (leaveContext) AddrInfo: ai_flags: 0 ai_family: 2 ai_socktype: 0 ai_protocol: 0 ai_addrlen: 16 ai_canonname: (NULL) (leaveContext) AddrInfo: ai_flags: 0 ai_family: 2 ai_socktype: 0 ai_protocol: 0 ai_addrlen: 16 ai_canonname: (NULL) (leaveContext) AddrInfo: ai_flags: 0 ai_family: 2 ai_socktype: 0 ai_protocol: 0 ai_addrlen: 16 ai_canonname: (NULL) (leaveContext) AddrInfo: ai_flags: 0 ai_family: 2 ai_socktype: 0 ai_protocol: 0 ai_addrlen: 16 ai_canonname: (NULL) (leaveContext) AddrInfo: ai_flags: 0 ai_family: 2 ai_socktype: 0 ai_protocol: 0 ai_addrlen: 16 ai_canonname: (NULL) (leaveContext) AddrInfo: ai_flags: 0 ai_family: 2 ai_socktype: 0 ai_protocol: 0 ai_addrlen: 16 ai_canonname: (NULL) (leaveContext) (leaveContext) connecting to IPV4 address... ipAddress: 65.55.33.135 createSocket: (leaveContext) connect: Waiting for the connect to complete... (leaveContext) (leaveContext) (leaveContext) failReason2: 7 (leaveContext) Failed to connect to SMTP server. (leaveContext) checkOrMakeSmtpConnection: Elapsed time: 21060 millisec (leaveContext) Failed. (leaveContext) CloseSmtpConnection: DllDate: Mar 27 2014 ChilkatVersion: 9.5.0.23 UnlockPrefix: 30-day trial Username: DAVID-LT-I7:DAVID Architecture: Little Endian; 32-bit Language: ActiveX VerboseLogging: 1 terminateConnection: (leaveContext) (leaveContext)