Update Static DNS Entries Every 10 Minutes - MikroTik Script RouterOS
Add a script named SMTP-Updater containting the following code:
:log info "Updating SMTP Address"
:local latestsmtp
:set latestsmtp [:resolve smtp.YOURUPSTREAMISP.com]
:log error "Latest SMTP Address is :$latestsmtp"
:local testingsmtp
/ip dns static
#:log info "Latest SMTP Server Address is: $latestsmtp"
# Starting Loop Below:
:foreach i
# Add your local static DNS entries below:
in=smtp.itblanket.net,smtp.saix.net,smtp.afrihost.co.za,smtp.afrihost.com do={
:set testingsmtp $i
#:log info "Testing this SMTP: $testingsmtp"
:if ([:len [/ip dns static find name=$testingsmtp]] >0 ) do={
#:log info "Entry exists, updating DNS"
/ip dns static set [find name=$testingsmtp] address=$latestsmtp ttl=600 ;
} else={
#:log info "Entry does not exist, creating the entry"
/ip dns static add name=$testingsmtp address=$latestsmtp ttl=600 ;
};
}
#Loop ends above
#:log info "Latest SMTP: $latestsmtp"
:log info "Static SMTP DNS has been updated"
Now schedule it to run eg every 10 minutes.
Regards, G
Credit: wiki.mikrotik.com