diff options
Diffstat (limited to 'global-functions')
-rw-r--r-- | global-functions | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/global-functions b/global-functions index d4b8801..7d242e6 100644 --- a/global-functions +++ b/global-functions @@ -34,6 +34,7 @@ :global RandomDelay; :global DeviceInfo; :global ScriptInstallUpdate; +:global MailServerIsUp; # url encoding :set UrlEncode do={ @@ -436,3 +437,24 @@ } / system script run script-updates; } + +# check if mail server is up +:set MailServerIsUp do={ + :local MailServer [ / tool e-mail get address ]; + :local MailHost $MailServer; + + :if ([ / tool netwatch print count-only where comment=$MailServer ] = 0) do={ + :log warn ("Adding netwatch entry for mail server."); + :local MailHost $MailServer; + :if ([ :typeof [ :toip $MailHost ] ] != "ip" ) do={ + :set MailHost [ :resolve $MailServer ]; + } + / tool netwatch add comment=$MailServer host=[ :resolve $MailServer ]; + } + + :if ([ / tool netwatch get [ find where comment=$MailServer ] status ] = "up") do={ + :return true; + } + + :return false; +} |