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