asp定时自动查询自己的外网ip并发送到邮箱【邮件的使用的组件是jmail】

这是一个使用VBScript编写的网页,它每小时自动刷新一次,获取iframe.ip138.com上的外网IP,并通过Jmail组件将IP地址以邮件形式发送给指定接收人。邮件标题包含‘IP查询’,内容显示查询到的IP和发送时间。
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>

  <html>

  <head>

  <meta content="text/html; charset=gb2312" http-equiv="content-type">

  <Meta http-equiv="Refresh" Content="3600;">

  </head>

  <body>

  <%

  '邮件的标题

  title="【ip】查询的IP为"

  '邮件的内容

  ip_string=Reg_tager(GetHttpPage("http://iframe.ip138.com/city.asp"),"<center>([^<]*)</center>")

  '邮件发送给谁

  SendTo=""

  '发送人的登陆邮件用户名

  Email_user=""

  '发送人的登陆邮箱密码

  Email_password=""

  '邮件服务器SMTP地址

  smtp="smtp.qq.com"

  response.Write("这一次发送Email的时间是:"now()&"<br>"ip_string)

  email_send(title,ip_string,SendTo,Email_user,Email_password,smtp)

  %>

  </body>

  </html>

  <%

  '==================================================

  '函数名:GetHttpPage

  '作用:获取网页源码

  '参数:HttpUrl ------网页地址

  '==================================================

  Function GetHttpPage(HttpUrl)

  If IsNull(HttpUrl)=True Or Len(HttpUrl)<18 Or HttpUrl="$False$" Then

  GetHttpPage="$False$"

  Exit Function

  End If

  Dim Http

  Set Http=server.createobject("MSXML2.XMLHTTP")

  Http.open "GET",HttpUrl,False

  Http.Send()

  If Http.Readystate<>4 then

  Set Http=Nothing

  GetHttpPage="$False$"

  Exit function

  End if

  GetHTTPPage=bytesToBSTR(Http.responseBody,"GB2312")

  GetHTTPPage=replace(replace(GetHTTPPage , vbCr,""),vbLf,"")

  Set Http=Nothing

  If Err.number<>0 then

  Err.Clear

  End If

  End Function

  '==================================================

  '函数名:BytesToBstr

  '作用:将获取的源码转换为中文

  '参数:Body ------要转换的变量

  '参数:Cset ------要转换的类型

  '==================================================

  Function BytesToBstr(Body,Cset)

  Dim Objstream

  Set Objstream = Server.CreateObject("adodb.stream")

  objstream.Type = 1

  objstream.Mode =3

  objstream.Open

  objstream.Write body

  objstream.Position = 0

  objstream.Type = 2

  objstream.Charset = Cset

  BytesToBstr = objstream.ReadText

  objstream.Close

  set objstream = nothing

  End Function

  '==================================================

  '函数名:过滤规则

  '作用:过滤标签取所要的内容

  '参数:Body ------要转换的变量

  '==================================================

  Function Reg_tager(body,rul)

  Dim RegEx

  Set RegEx = New RegExp

  RegEx.IgnoreCase = true

  RegEx.Global = True

  RegEx.Pattern = rul

  If Regex.test(body) then

  Dim Matches

  Set Matches = RegEx.Execute(body) ' 执行搜索。

  For Each Match in Matches ' 遍历匹配集合。

  RetStr = RetStr & Match.SubMatches(0) '只取src

  Next

  Reg_tager= RetStr

  End If

  Set RegEx=Nothing

  End Function

  '==================================================

  '函数名:发送邮件

  '作用:过滤标签取所要的内容

  '参数:Body ------要转换的变量

  '==================================================

  function email_send(title,body,SendTo,Email_user,Email_password,smtp)

  Email = SendTo       ''收件人Email

  Set jmail = Server.CreateObject("JMAIL.Message")    '建立发送邮件的对象

  jmail.silent = false                          '屏蔽例外错误,返回FALSE跟TRUE两值

  jmail.logging = true                          '启用邮件日志

  jmail.Charset = "GB2312"                      '邮件的文字编码为国标

  jmail.ContentType = "text/html"               '邮件的格式为HTML格式

  jmail.AddRecipient Email                      '邮件收件人的地址

  jmail.From = Email_user                 '发件人的E-MAIL地址

  jmail.MailServerUserName = Email_user   '登录邮件服务器所需的用户名

  jmail.MailServerPassword = Email_password             '登录邮件服务器所需的密码

  jmail.Subject = title                   '邮件的标题

  jmail.Body = body                  '邮件的内容

  jmail.Priority = 1                            '邮件的紧急程序,为最快,为最慢,3 为默认值

  jmail.Send(smtp)                  '执行邮件发送(通过邮件服务器地址)。请修改成你的邮件服务器SMTP地址

  jmail.Close()                                 '关闭对象

  end function

  %>
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值