OS 7.1rc6
1. when I run the script nothing coming to my email.
mikrotik log didn't show any mail log
Where my mistake?
tq
STEPS TAKEN
1. test manual email
/tool e-mail set address=[:resolve smtp.gmail.com] from=user@gmail.com password
="-user" port=587 user=user@gmail.com tls=starttls
/tool e-mail send to=user@gmail.com subject="test" body="test"
I can receive the email
SCRIPT
https://github.com/arkashiks/dns_health ... hcheck.rsc
Code: Select all
:local sysname [/system identity get name];
:local EMAIL "user@gmail.com";
:local PrimaryDNS "192.168.88.250";
:local BackupDNS "192.168.100.1";
:local TestDomain "mikrotik.com";
:local ConfiguredDNS [/ip dns get servers];
###### when router is in its primary configuration
:if ($PrimaryDNS = $ConfiguredDNS) do={
:do {
###### test resolution
:put [:resolve $TestDomain server $ConfiguredDNS];
###### generate syslog messages
/log info "Primary DNS $PrimaryDNS healthcheck completed, no issues";
} on-error={
:put "resolver failed";
###### generate syslog messages
/log info "name resolution using primary DNS $PrimaryDNS failed";
/log info "temporary setting backup DNS $BackupDNS as primary";
###### update DNS with backup DNS
/ip dns set servers=$BackupDNS;
###### send notification email
/tool e-mail send to="$EMAIL" subject="$sysname script notification: Primary DNS $PrimaryDNS down" body="Primary DNS $PrimaryDNS is down.\r\nDNS configuration changed to backup DNS $BackupDNS."
/log info "notification email to $EMAIL sent";
}
}
###### when router is in its backup configuration
:if ($BackupDNS = $ConfiguredDNS) do={
:do {
###### test resolution
:put [:resolve $TestDomain server $PrimaryDNS]
###### generate syslog messages
/log info "name resolution using primary DNS $PrimaryDNS working now";
/log info "restoring original DNS configuration";
###### revert back DNS configuration to original
/ip dns set servers=$PrimaryDNS;
###### send notification email
/tool e-mail send to="$EMAIL" subject="$sysname script notification: Primary DNS $PrimaryDNS up" body="Primary DNS $PrimaryDNS is up.\r\nOriginal DNS configuration restored."
/log info "notification email to $EMAIL sent";
} on-error={
:put "resolver failed";
###### generate syslog messages
/log info "system is configured with backup DNS $BackupDNS";
/log info "Primary DNS $PrimaryDNS is still down, next check in 300 seconds";
}
}