問題:

公司有一Web系統需開放給香港Office公司查詢資料,但最近動態域名需實名認證,

因系統較小型,非公開大範圍使用,所以再認證一域名也沒多大必要,

所以想定時生成一封能查詢外網IP的郵件發送給相關同事。

方案:

1.新建一個VBS文件用來獲取IP和發送郵件:

  1. On Error Resume next
  2.  
  3. Set objEmail=CreateObject("CDO.Message")
  4.  
  5. Call SendMail()
  6.  
  7. Sub SendMail
  8. Url="http://www.ip138.com/ips1388.asp" 'https://www.baidu.com/s?wd=ip
  9. Set NP = Createobject("Microsoft.XMLHTTP")
  10. NP.Open "GET", url, False
  11. NP.Send
  12. Data=NP.responsebody
  13. Set NP = Nothing
  14. Data = bytes2BSTR(Data)
  15. Here = InstrRev(Data, "ip138.com IP", -,)
  16. Data = Mid(Data,Here+,)
  17. Data = Replace(Data, "[","")
  18. Data = Replace(Data, "]","")
  19. Data = Replace(Data, " ","")
  20. Data="This mail send from : " & Data & "." & vbcrlf & "You may use this: http://" & Data & ":8080/MISWeb" & vbCrlf & "Bruce " & Now & vbCrlf
  21. 'WSH.Echo Data
  22.  
  23. objEmail.From="xxx@c-c-l.com.hk" 'Sender
  24. objEmail.To="yyy@c-c-l.com.hk" 'Receiver:mtho@c-c-l.com.hk
  25. objEmail.Subject="This Mail Only used to Get CCL Factory IP" 'Subject
  26. objEmail.Textbody=Data
  27. CreateObject("Scripting.FileSystemObject").OpenTextFile("CCLFactoryIP.txt",,) _
  28. .Write Data
  29. 'WSH.Echo Now & ": " & Data
  30. objEmail.Configuration.Fields.Item _
  31. ("http://schemas.microsoft.com/cdo/configuration/sendusing")=
  32. objEmail.Configuration.Fields.Item _
  33. ("http://schemas.microsoft.com/cdo/configuration/smtpserver")="ppp.com" 'SMTP Server Address
  34. objEmail.Configuration.Fields.Item _
  35. ("http://schemas.microsoft.com/cdo/configuration/sendusername")="qqq" 'Username
  36. objEmail.Configuration.Fields.Item _
  37. ("http://schemas.microsoft.com/cdo/configuration/sendpassword")="zzz" 'Password
  38. objEmail.Configuration.Fields.Item _
  39. ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate")= 'Password use Text
  40. objEmail.Configuration.Fields.Item _
  41. ("http://schemas.microsoft.com/cdo/configuration/smtpserverport")= 'Smtp Port
  42. objEmail.Configuration.Fields.Update
  43. objEmail.Send
  44. End Sub
  45. Function bytes2BSTR(vIn)
  46. strReturn = ""
  47. For i = To LenB(vIn)
  48. ThisCharCode = AscB(MidB(vIn,i,))
  49. If ThisCharCode < &H80 Then
  50. strReturn = strReturn & Chr(ThisCharCode)
  51. Else
  52. NextCharCode = AscB(MidB(vIn,i+,))
  53. strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
  54. i = i +
  55. End If
  56. Next
  57. bytes2BSTR = strReturn
  58. End Function

2.在Win系統設置定時任務:

Win10: 開始->Windows管理工具->任務計劃程序,操作->創建基本任務,輸入名稱,設定每周一到周五8:58開始,每一小時運行一次,持續8小時。

3.測試完全OK。

【轉載請註明來源】

自動獲取外網IP并發郵件的更多相关文章

  1. 获取Mac、CPUID、硬盘序列号、本地IP地址、外网IP地址OCX控件

    提供获取Mac.CPUID.硬盘序列号.本地IP地址.外网IP地址OCX控件 开发语言:vc++ 可应用与WEB程序开发应用 <HTML><HEAD><TITLE> ...

  2. Delphi 取外网IP

    近日偶要做个程序,需要获得外网IP,偶去网上找相关资料,发现都不尽如人意,有的只能获得本地网卡的IP,有的通过httpget控件获取IP,还有甚者做个asp再调用偶是个懒人,而且上面提到的方法,不是获 ...

  3. linux下获取外网IP

    使用阿里云或者有多个网卡IP的机器需要取外网IP时,可以用下面这种 wget -qO - ifconfig.co 更多方法参考:https://yq.aliyun.com/ziliao/105999

  4. 實際案例: 已知要獲取臨時票証 (JsApi Ticket) 才能調用的接口

    需獲取票証才能調用的接口,簡單列示如下: 一.基礎類 1. wx.checkJsApi (當前客戶端是否支持指定JS) 二.分享類 1.wx.onMenuShareTimeline (分享到朋友圈)2 ...

  5. Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer 关于Newtonsoft.Json,LINQ to JSON的一个小demo mysql循环插入数据、生成随机数及CONCAT函数 .NET记录-获取外网IP以及判断该IP是属于网通还是电信 Guid的生成和数据修整(去除空格和小写字符)

    Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer   Advanced Installer :Free for 30 da ...

  6. jquery html 獲取或設置

    jquery提供操作html元素的屬性和內容的強大方法. DOM就是獨立于平台和語言的界面,允許程序和腳本動態訪問和改變DOM的內容,結構和樣式. 獲取內容:text(),html(),val(),a ...

  7. java web获取客户端外网ip和所在区域

    @参考文章1.@参考文章2.@参考文章3.@参考文章4,@之前同事的项目 controller @Controller @RequestMapping("/home") publi ...

  8. 查看linux系统外网ip命令

    终端中输入 curl ipinfo.io 或者 curl ifconfig.me 即可通过IP地址检测网站提供的api获得取本机的外网IP,或者以 JSON 格式返回全部结果.

  9. C#获取本机内网外网IP

    using System.Net; # region 获取内.外网Ip /// <summary> /// 获取本地ip地址,优先取内网ip /// </summary> pu ...

随机推荐

  1. 【翻译自mos文章】即使resource_limit = false, password的 资源限制也会生效

    即使resource_limit = false, password的 资源限制也会生效 參考原文: Resource limits for passwords work even with reso ...

  2. spring cloud config 属性加解密

    首先需要(Java Cryptography Extension (JCE))的支持,下载路径: https://www.oracle.com/technetwork/java/javase/down ...

  3. atexit函数的使用【学习笔记】

    #include "apue.h" static void my_exit1(void); static void my_exit2(void); int main(void) { ...

  4. MYSQL初级学习笔记七:MySQL中使用正则表达式!(视频序号:初级_44)

    知识点九:MySQL中使用正则表达式(44) (1):REGEXP‘匹配方式’: (2):常用匹配方式: 模式字符 ^ 匹配字符开始的部分 $ 匹配字符串结尾的部分 . 代表字符串中的任意一个字符,包 ...

  5. git push不成功 insufficient permission for adding an object to repository database

    这常见于多用户. 1. 确保所有用户在同一个组: 2. 确保所有文件被组可读写. 当多个用户各自进行了push操作后,object目录下的文件可能各自属于各个用户.

  6. iOS添加弹出菜单

    最近接触的项目需要实现一个弹出窗,类似于点击微信navigation bar右上角的bar button所展现的弹出窗,最终效果如下: Demo代码存放在https://github.com/LuoD ...

  7. 「LuoguP1122」 最大子树和

    Description 小明对数学饱有兴趣,并且是个勤奋好学的学生,总是在课后留在教室向老师请教一些问题.一天他早晨骑车去上课,路上见到一个老伯正在修剪花花草草,顿时想到了一个有关修剪花卉的问题.于是 ...

  8. 洛谷P3195 [HNOI2008]玩具装箱TOY——斜率优化DP

    题目:https://www.luogu.org/problemnew/show/P3195 第一次用斜率优化...其实还是有点云里雾里的: 网上的题解都很详细,我的理解就是通过把式子变形,假定一个最 ...

  9. Linux的终端类型

    终端是一个很重要的外设,用过终端设备的人都知道如果设备类型不对就会有乱字符,也可用仿真终端软件如netterm试验一下,Linux的终端信息放在 /usr/share/terminfo下,在这个目录的 ...

  10. Android webkit 事件传递流程通道分析

    前言:基于android webview 上定制自己使用的可移植浏览器apk,遇到好多按键处理的问题.所以索性研究了一下keyevent 事件的传递流程. frameworks 层 keyevent ...