• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >vbs > 使用vbs获得外网ip并发送到邮箱里

使用vbs获得外网ip并发送到邮箱里

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了vbs获取ip,vbs 修改ip,vbs 邮箱,vbs程序代码,vbs等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

获得本地外网地址并发送到指定邮箱,还可以参考这个文章http://www.jb51.net/article/40064.htm

Option Explicit 

Call Main '执行入口函数 

'- ----------------------------------------- - 
' 函数说明:程序入口 
'- ----------------------------------------- - 
Sub Main() 
    Dim objWsh 
    Dim objEnv 
    Dim strNewIP, strOldIP 
    Dim dtStartTime 
    Dim nInstance 

    strOldIP = "" 
    dtStartTime = DateAdd("n", -30, Now) '设置起始时间 

    '获得运行实例数,如果大于1,则结束以前运行的实例 
    Set objWsh = CreateObject("WScript.Shell") 
    Set objEnv = CreateObject("WScript.Shell").Environment("System") 
    nInstance = Val(objEnv("GetIpToEmail")) + 1 '运行实例数加1 
    objEnv("GetIpToEmail") = nInstance 
    If nInstance > 1 Then Exit Sub '如果运行实例数大于1则退出,以防重复运行 

    '开启远程桌面 
    'EnabledRometeDesktop True, Null 

    '在后台连续检测外网地址,如果有变化则发送邮件到指定邮箱 
    Do 
        If Err.Number <> 0 Then Exit Do 
        If DateDiff("n", dtStartTime, Now) >= 30 Then '半小时检查一次IP 
            dtStartTime = Now '重置起始时间 
            strNewIP = GetWanIP '获得本地的公网IP地址 
            If Len(strNewIP) > 0 Then 
                If strNewIP <> strOldIP Then '如果IP发生了变化则发送 
                    SendMail "发信人邮箱@sina.com", "密码", "收信人邮箱@sina.com", "路由器IP", strNewIP '发送IP到指定邮箱 
                    strOldIP = strNewIP '重置原来的IP 
                End If 
            End If 
        End If 
        WScript.Sleep 2000 '延时2秒,以释放CPU资源 
    Loop Until Val(objEnv("GetIpToEmail")) > 1 
    objEnv.Remove "GetIpToEmail" '清除运行实例数变量 
    Set objEnv = Nothing 
    Set objWsh = Nothing 

    MsgBox "程序被成功终止!", 64, "提示" 
End Sub 

'- ----------------------------------------- - 
' 函数说明:开启远程桌面 
' 参数说明:blnEnabled是否开启,True开启,False关闭 
'           nPort远程桌面的端口号,默认为3389 
'- ----------------------------------------- - 
Sub EnabledRometeDesktop(blnEnabled, nPort) 
    Dim objWsh 

    If blnEnabled Then 
        blnEnabled = 0 '0表示开启 
    Else 
        blnEnabled = 1 '1表示关闭 
    End If 

    Set objWsh = CreateObject("WScript.Shell") 
    '开启远程桌面并设置端口号 
    objWsh.RegWrite "HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Terminal Server/fDenyTSConnections", blnEnabled, "REG_DWORD" '开启远程桌面 
    '设置远程桌面端口号 
    If IsNumeric(nPort) Then 
        If nPort > 0 Then 
            objWsh.RegWrite "HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Terminal Server/Wds/rdpwd/Tds/tcp/PortNumber", nPort, "REG_DWORD" 
            objWsh.RegWrite "HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Terminal Server/WinStations/RDP-Tcp/PortNumber", nPort, "REG_DWORD" 
        End If 
    End If 
    Set objWsh = Nothing 
End Sub 

'- ----------------------------------------- - 
' 函数说明:获得公网IP 
'- ----------------------------------------- - 
Function GetWanIP() 
    Dim nPos 
    Dim objXmlHTTP 

    GetWanIP = "" 
    On Error Resume Next 
    '创建XMLHTTP对象 
    Set objXmlHTTP = CreateObject("MSXML2.XMLHTTP") 

    '导航至http://www.ip138.com/ip2city.asp获得IP地址  
    objXmlHTTP.open "GET", "http://iframe.ip138.com/ic.asp", False 
    objXmlHTTP.send 

    '提取HTML中的IP地址字符串 
    nPos = InStr(objXmlHTTP.responseText, "[") 
    If nPos > 0 Then 
        GetWanIP = Mid(objXmlHTTP.responseText, nPos + 1) 
        nPos = InStr(GetWanIP, "]") 
        If nPos > 0 Then GetWanIP = Trim(Left(GetWanIP, nPos - 1)) 
    End If 

    '销毁XMLHTTP对象 
    Set objXmlHTTP = Nothing 
End Function 

'- ----------------------------------------- - 
' 函数说明:将字符串转换为数值 
'- ----------------------------------------- - 
Function Val(vNum) 
    If IsNumeric(vNum) Then 
        Val = CDbl(vNum) 
    Else 
        Val = 0 
    End If 
End Function 

'- ----------------------------------------- - 
' 函数说明:发送邮件 
' 参数说明:strEmailFrom:发信人邮箱 
'           strPassword:发信人邮箱密码 
'           strEmailTo:收信人邮箱 
'           strSubject:邮件标题 
'           strText:邮件内容 
'- ----------------------------------------- - 
Function SendMail(strEmailFrom, strPassword, strEmailTo, strSubject, strText) 
    Dim i, nPos 

您可能想查找下面的文章:

  • 使用vbs获得外网ip并发送到邮箱里
  • VBS 获取外网IP的实现代码
  • VBS获取外网IP地址并发送到指定邮箱的代码
  • 使用vbs获取雅虎汇率
  • 用VBS设置静态IP和DNS服务器地址的代码
  • 一个查看局域网在线IP的vbs脚本
  • vbs版IP地理位置查询小偷
  • 用vbs得到计算机的 IP 地址
  • 用vbs实现配置静态 IP 地址
  • 用vbs针对一个 IP 地址范围运行脚本

相关文章

  • VBS教程:方法-Clear 方法
  • 改进后的mkw3site.vbs(创建虚拟目录)
  • vbs自动填表单分析附源码
  • VBS教程:函数-UCase 函数
  • Imail密码加密算法及VBS实现
  • math.vbs 自然数n的n次方的的和或积的级数
  • 用VBS实现监视进程创建与删除的代码
  • 使用脚本自动修改ip设置
  • 杀死指定进程名称的小VBS
  • vbs正则表达式代码

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 用来分割文本的vbs脚本
    • 批量替换快捷方式目的路径的VBS脚本
    • charCodeAt与AscW函数的区别说明
    • 从XML文件中获取信息的vbs代码
    • VBS教程:函数-Log 函数
    • 用vbs列出机器上所有能调用的组件
    • VBSCript之GenerateSDDL函数(权限设置)
    • Msxml2.XMLHTTP Msxml2.ServerXMLHTTP与缓存
    • VBS教程:函数-DateValue 函数
    • VBS教程:运算符-And 运算符

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有