ASP mailing script not sending mail

Discussion in 'Scripting' started by SteveH, Oct 22, 2008.

  1. SteveH

    SteveH Guest


    I have the following script which notfies the Webmaster when a user logs on.

    I have contacted my hosting service which has provided details of SMTP_USER
    and SMTP_PASS and the SMTP_PORT details.

    The log-on script users a txt file with the following log-on details: user
    name: gates; user's password: bill. Using this user name and password I am
    suvccessfully redirected to a 'successful log-on' page.

    The problem I am having is that no mail is actually sent to ADMIN_EMAIL.

    Are there any obvious errors in the script, please, as I do not get any
    server error messages.

    Many thanks.


    ' Please indicate where notifications should be sent
    Const ADMIN_EMAIL = ""

    ' Please provide the following details for your SMTP server
    Const SMTP_SERVER=""
    Const SMTP_PORT = 25

    ' If your SMTP server requires authentication, please set
    ' USE_AUTHENTICATION to True and supply a username and password
    Const SMTP_USER=""
    Const SMTP_PASS="bill"

    ' If your SMTP server uses Secure Password Aunthentication, please
    ' set the following value to True.
    Const SMTP_SSL = False

    ' Set this value to true while testing
    Const ENABLE_DEBUGGING = False

    ' Do not change anything below this line
    Set WshNetwork = CreateObject("WScript.Network")

    dteTime = Time
    dteDate = Date

    strMessage = "A user has logged onto <b>" & ComputerName & "</b> from <b>" &
    WAN_IP & "</b> with the following details:<br><br>" _
    & "Logon Date: " & dteDate & "<br>" _
    & "Logon Time: " & dteTime & "<br>" _
    & "Account Name: " & AccountName & "<br>" _
    & "LAN IP: " & LAN_IP & "<br>"

    result = SendMail(strMessage)

    If ENABLE_DEBUGGING Then WScript.Echo result

    Function AccountName
    If IsNull(WshNetwork) Then Set WshNetwork = CreateObject("WScript.Network")
    AccountName = WshNetwork.UserName

    End Function

    Function ComputerName
    If IsNull(WshNetwork) Then Set WshNetwork = CreateObject("WScript.Network")
    ComputerName = WshNetwork.ComputerName

    End Function

    Function LAN_IP
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set colItems = objWMIService.ExecQuery("Select IPAddress from
    Win32_NetworkAdapterConfiguration WHERE IPEnabled=TRUE",,48)

    For Each objItem In colItems
    If Not IsNull(objItem.IPAddress) Then
    LAN_IP = objItem.IPAddress(0)
    Exit For
    End If

    End Function

    Function WAN_IP
    Set objxmlHTTP = CreateObject("Microsoft.XMLHTTP")
    Call"get", "", False)

    strHTMLText = objxmlHTTP.ResponseText
    Set objxmlHTTP = Nothing

    If strHTMLText <> "" Then
    varStart = InStr(1, strHTMLText, "Current IP Address:", vbTextCompare) + 19
    If varStart Then varStop = InStr(varStart, strHTMLText, "</body>",
    If varStart And varStop Then strIP = Mid(strHTMLText, varStart, varStop -

    strIP = "Unavailable"

    End If
    WAN_IP = Trim(strIP)

    End Function

    Function SendMail(strBody)
    Set objEmail = CreateObject("CDO.Message")
    With objEmail
    .From = ADMIN_EMAIL
    .Subject = "Logon Notification"
    .HTMLBody = strBody
    .Configuration.Fields.Item _
    ("") = 2
    .Configuration.Fields.Item _
    ("") = SMTP_SERVER
    .Configuration.Fields.Item _
    ("") =
    .Configuration.Fields.Item _
    ("") = 1
    .Configuration.Fields.Item _
    ("") =
    .Configuration.Fields.Item _
    ("") =

    End If
    If SMTP_SSL Then
    .Configuration.Fields.Item _
    ("") = True

    End If

    On Error Resume Next


    If Err.number <> 0 Then
    SendMail = Err.Description

    SendMail = "The server did not return any errors."

    End If
    On Error Goto 0

    End With

    End Function
    SteveH, Oct 22, 2008
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.