« [住所録]はがきデザインキットの住所録データを使う【その2】 | トップページ | [Mobby]Adobe Reader LE »

[IP]定期的にグローバルIPアドレスを調べてメールで知らせる【applescript】

外出時のリモートアクセス用

こちらの記事[LINK]アイコン:新しいウィンドで開きます
の取得方法で
グローバルIPアドレスを取得して
メールで指定アドレスへ送信します。


---定期的に接続しているグローバルIPアドレスを取得してメールで送信します
---AppleMailを使って送信しますので
---AppleMailの送信設定(パスワードの保存等)の設定が別途必要です

----【設定1/3】送信するメールアドレス
set SendMailADD to "yourMailadd.com" as Unicode text

----【設定2/3】何秒毎に処理するか 60で1分毎 1800で30分毎 3600で1時間毎
set IntTime to "60"

----【設定3/3】何回まで繰り返し処理するか
set TryCnt to "9999"


repeat TryCnt times

tell application "Finder"

set CnowTime to my DateAndTIme(current date)
set nowTime to CnowTime as Unicode text
set DirName to characters 1 thru 8 of nowTime as Unicode text

set SaveFile to "/tmp/" & DirName & "/" & nowTime & ".txt"


set MkDirCmd to "mkdir -p /tmp/" & DirName as Unicode text

try
do shell script MkDirCmd
end try

set ClearDir to "rm -f /tmp/" & DirName & "/*txt"

try
do shell script ClearDir
end try

set My_URL to "http://applescriptip.appspot.com/?callback=getip" as Unicode text

set ShCmd to "curl " & My_URL

set ShCmd to "curl " & My_URL & " >> " & SaveFile

try
set OriginaltheIP to do shell script ShCmd
end try


end tell

set Openfile to POSIX file SaveFile

set OpenF to open for access alias Openfile
set ReadF to read OpenF
close access OpenF


tell application "Mail"
set theNewMessage to make new outgoing message with properties {subject:"IP" & nowTime, content:ReadF, visible:true}
tell theNewMessage
make new to recipient at end of to recipients with properties {address:SendMailADD}
send
end tell
end tell
delay IntTime





end repeat


--------------------------------------------------#ここからサブルーチン
to DateAndTIme(theDate)
set y to (year of theDate)
set m to my monthNumStr(month of theDate)
set d to day of theDate
set hms to time of theDate
set hh to h of sec2hms(hms)
set mm to m of sec2hms(hms)
set ss to s of sec2hms(hms)
return (y as text) & my zero1(m) & my zero1(d) & "_" & zero1(hh) & zero1(mm) & zero1(ss)

end DateAndTIme
------------------#月表示を数字に置き換える
to monthNumStr(theMonth)
set monList to {January, February, March, April, May, June, July, August, September, October, November, December}
repeat with i from 1 to 12
if item i of monList is theMonth then exit repeat
end repeat
return i
end monthNumStr
------------------#ゼロサプレス
to zero1(n)
if n < 10 then
return "0" & n
else
return n as text
end if
end zero1
------------------#時間表示を:で分割
to sec2hms(sec)
set ret to {h:0, m:0, s:0}
set h of ret to sec div hours
set m of ret to (sec - (h of ret) * hours) div minutes
set s of ret to sec mod minutes
return ret
end sec2hms

「SendMail_withIP.scpt.zip」をダウンロード

「SendMail_withIP.scpt.rtf」をダウンロード

|

« [住所録]はがきデザインキットの住所録データを使う【その2】 | トップページ | [Mobby]Adobe Reader LE »

AppleScript」カテゴリの記事

コメント

この記事へのコメントは終了しました。