Posted to tcl by hypnotoad at Tue Oct 31 16:52:06 GMT 2017view pretty
#! /usr/local/bin/tclsh8.6 package require http source /opt/local/odie/lib/odieutil/mail.tcl smtp::init mail.etoyoc.com:2500 set from "The Blue Fairy <thebluefairy@etoyoc.com>" # www.doesnotexist.xyz akupries@shaw.ca foreach {url contact} { www.etoyoc.com yoda@etoyoc.com www.tcl.tk akupries@shaw.ca } { set error_text {} set code [catch {http::geturl http://$url} token errdat] if {$code != 0} { set error_text $token append error_text \n [dict get $errdat -errorinfo] } else { set status [http::status $token] set code [http::code $token] set size [http::size $token] set html [http::data $token] if {[string index $code 0] eq "4"} { append error_text "Code: $code" \n append error_text "Page Content" \n append error_text $html } } if {[string length $error_text]} { set message "From: $from" append message \n "Subject: \[bluefairy\] Website $url down" append message \n append message \n "This is an automated warning from thebluefairy@[info host]." append message \n "The website http://$url is not responding properly, as of [clock format [clock seconds]]" append message \n \n "The information returned from our scan was:" append message \n $error_text append message \n #set token [mime::initialize -canonical text/plain -string $message] #catch {smtp::sendmessage $token \ # -recipients $contact} err errdat #puts [dict get $errdat -errorinfo] ::smtp::send $contact root@localhost $message } }