自動獲取外網IP并發郵件

問題:

公司有一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", -1,0)
16     Data = Mid(Data,Here+83,17)
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="[email protected]"                    ‘Sender
24     objEmail.To="[email protected]"                        ‘Receiver:[email protected]
25     objEmail.Subject="This Mail Only used to Get CCL Factory IP"                        ‘Subject
26     objEmail.Textbody=Data
27     CreateObject("Scripting.FileSystemObject").OpenTextFile("CCLFactoryIP.txt",8,1) _
28         .Write Data
29     ‘WSH.Echo Now & ": " & Data
30     objEmail.Configuration.Fields.Item _
31         ("http://schemas.microsoft.com/cdo/configuration/sendusing")=2
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")=1                    ‘Password use Text
40     objEmail.Configuration.Fields.Item _
41         ("http://schemas.microsoft.com/cdo/configuration/smtpserverport")=25                    ‘Smtp Port
42     objEmail.Configuration.Fields.Update
43     objEmail.Send
44 End Sub
45 Function bytes2BSTR(vIn)
46     strReturn = ""
47     For i = 1 To LenB(vIn)
48         ThisCharCode = AscB(MidB(vIn,i,1))
49         If ThisCharCode < &H80 Then
50             strReturn = strReturn & Chr(ThisCharCode)
51         Else
52             NextCharCode = AscB(MidB(vIn,i+1,1))
53             strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
54             i = i + 1
55         End If
56     Next
57     bytes2BSTR = strReturn
58 End Function

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

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

3.測試完全OK。

【轉載請註明來源】

时间: 2024-07-31 19:00:10

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

Delphi 取外网IP

近日偶要做个程序,需要获得外网IP,偶去网上找相关资料,发现都不尽如人意,有的只能获得本地网卡的IP,有的通过httpget控件获取IP,还有甚者做个asp再调用偶是个懒人,而且上面提到的方法,不是获取不了就是速度太慢或者是太麻烦,无意中发现有个系统提供的API,利用它能够获取适配器信息,其中就包括外网IP,下面把代码给大家,重点处我做了注释. 注意: 程序必须运行在直接拨号联网的用户,不适用于内网用户.//常量定义ConstMAX_HOSTNAME_LEN               = 12

python获取外网IP并发邮件

第一步:通过ip138来爬取外网ip 第二部:通过python的smtplib模块和email来发送邮件,具体用法去网上搜索,下面是代码示例: #!/usr/bin/env python #coding:utf-8 import urllib2 import re import smtplib from email.MIMEText import MIMEText from email.Header import Header ##################################

linux下获取外网IP

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

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

需獲取票証才能調用的接口,簡單列示如下: 一.基礎類 1. wx.checkJsApi (當前客戶端是否支持指定JS) 二.分享類 1.wx.onMenuShareTimeline (分享到朋友圈)2.wx.onMenuShareAppMessage (分享給好友)3.wx.onMenuShareQQ (分享到QQ)4.wx.onMenuShareWeibo (分享到微博)5.wx.onMenuShareQZone (分享到QQ空間) 三.圖片類1.wx.chooseImage (相冊選圖)2.

C#获取本机内网外网IP

using System.Net; # region 获取内.外网Ip /// <summary> /// 获取本地ip地址,优先取内网ip /// </summary> public static String GetLocalIp() { String[] Ips = GetLocalIpAddress(); foreach (String ip in Ips) if (ip.StartsWith("10.80.")) return ip; foreach

獲取12306所需剩餘的票

1.登陸官網,找到所需票頁面: 2.按F12然後點擊查詢: 3.先安裝requests 第三方庫: #pip install requests 4.寫入以下代碼: 1 #!/usr/bin/env python3 2 # -*- coding: UTF-8 -*- 3 4 import requests 5 6 #獲取12306官網的數據url 7 def pacong(): 8 reque = requests.get('https://kyfw.12306.cn/otn/leftTicket

内网IP和外网IP

1.什么是内网内网就是局域网,比如一个公司的局域网,局域网内每台计算机的IP地址是互异的,但不同局域网内的IP是可以相同的.2.什么是外网外网就是互联网,内网的所有计算机都是连接到一个外网IP,通过外网IP对外交换数据.内网的IP地址不同,但共用一个外网IP.两个IP同时存在,一个对内,一个对外.3.NATNAT(Network Address Translation,网络地址转换)是路由器的主要功能,负责内网IP和外网IP之间的转换.属于一种接入广域网(WAN)的技术.NAT解决了IP地址不足

如何判断自己IP是内网IP还是外网IP

tcp/ip协议中,专门保留了三个IP地址区域作为私有地址,其地址范围如下: 10.0.0.0/8:10.0.0.0-10.255.255.255  172.16.0.0/12:172.16.0.0-172.31.255.255  192.168.0.0/16:192.168.0.0-192.168.255.255 使用保留地址的网络只能在内部进行通信,而不能与其他网络互连.如果要与外部通信,那么必须通过网关与外部通信,这里使用了NAT, NAPT技术就是用来保证通信的代理机制. 另外,一些宽带

linux获取外网ip

引言:目前获取ip的方法中,ifconfig和ip获取函数得到的都是内网ip.有时候需要获取外网ip,目前通用的做法,是向外部服务器发送请求,解析外部服务器响应,从而得到的自己的外网ip.linux下的 curl可以替我们完成这些工作,当然,不怕麻烦的话,可以自己分析http协议,自己实现以上过程.如果熟悉python的话,那就更简单了,就像我们所知道的,python总是有现成的库函数可供我们调用.一下总结几种获取外网ip的方法,以供查询,资料来源互联网. 参看资料: http://www.cn