Да. Все сошлось воедино. Спасибо за просвещение :)
Вместо 465 ssl. поставил порт 587. прям, как часы все.
Еще раз, спасибо за такие открытия. Как-то и не подумал на счет скобок. На вы со всем этим.
Скрипт отправки внешнего IP на почту (если он изменился).
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
- podarok66
- Модератор
- Сообщения: 4361
- Зарегистрирован: 11 фев 2012, 18:49
- Откуда: МО
Да в принципе не за что. Всё просто, если прочитать. Обратите внимание на предупреждение в Вики. Они не советуют использовать глобальные переменные в определенных вами локальных областях. То есть не загоняйте без нужды глобальные переменные в фигурные скобки, могут возникнуть абсолютно непредсказуемые коллизии.
Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
-
- Сообщения: 3
- Зарегистрирован: 19 июл 2018, 07:15
Есть ли возможность адаптировать этот скрипт под 5 версию routerOS, в 6 все работает на ура а вот в 5 не работает, нужен данный скрипт именно под 5 версию, прошу помощи в решении.
-
- Модератор
- Сообщения: 3605
- Зарегистрирован: 26 сен 2013, 14:20
- Откуда: НСК
- Контактная информация:
-
- Сообщения: 3
- Зарегистрирован: 19 июл 2018, 07:15
-
- Сообщения: 3
- Зарегистрирован: 24 сен 2020, 18:23
- Откуда: 74
Доброе время суток. Нарыл тут "стандартный" скрипт, подправил его под себя. Все работает. Но есть одна проблемка: скрипт шлет адрес даже если айпишник не менялся. В шедуле проверка кадлые 2 часа и каждые 2 часа шлет. В чем может быть проблема?
# set WAN interface name
:local WAN "ether1";
# set e-mail smtp server name
:local smtpserv [:resolve xx.xx.xx.xx];
# set e-mail username
:local Eaccount "emailname@yandex.ru";
# set e-mail password
:local Epassword "mypassword";
# set e-mail main recipient
:local Etomail "emailname@gmail.com";
#---------- Config above this line ----------
:global StoredIP
:local sysname [/system identity get name];
:local sysver [/system package get system version];
:global CurrIP
:log info "Get WAN interface IP address (New IP to e-mail script)"
# Get WAN interface IP address
:set CurrIP [/ip address get [/ip address find interface=$WAN] address]
:set CurrIP [:pick [:tostr $CurrIP] 0 [:find [:tostr $CurrIP] "/"]]
:if ([:len $CurrIP] = 0) do={
:log error ("Could not get IP for interface " . $WAN)
:error ("Could not get IP for interface " . $WAN)
} else={:log info "IP from $WAN get. (New IP to e-mail script)"}
:log info "Checking & sending IP if needed."
# Check IP address & send if needed
:if ($StoredIP != $CurrIP) do={
/tool e-mail send from=$Eaccount to=$Etomail \
server=$smtpserv port=465 user=$Eaccount password=$Epassword \
subject=("Home $sysname IP changed (" . [/system clock get date] . \
")") body=("New $sysname IP: $CurrIP.\nRouterOS \
version: $sysver\nTime and Date stamp: " . [/system clock get time] . " \
" . [/system clock get date]);
:log info "Send new IP to e-mail complete"
:set StoredIP "$CurrIP"
:log info "Stored IP Updated"
} else={:log info "IP not changed"}
# set WAN interface name
:local WAN "ether1";
# set e-mail smtp server name
:local smtpserv [:resolve xx.xx.xx.xx];
# set e-mail username
:local Eaccount "emailname@yandex.ru";
# set e-mail password
:local Epassword "mypassword";
# set e-mail main recipient
:local Etomail "emailname@gmail.com";
#---------- Config above this line ----------
:global StoredIP
:local sysname [/system identity get name];
:local sysver [/system package get system version];
:global CurrIP
:log info "Get WAN interface IP address (New IP to e-mail script)"
# Get WAN interface IP address
:set CurrIP [/ip address get [/ip address find interface=$WAN] address]
:set CurrIP [:pick [:tostr $CurrIP] 0 [:find [:tostr $CurrIP] "/"]]
:if ([:len $CurrIP] = 0) do={
:log error ("Could not get IP for interface " . $WAN)
:error ("Could not get IP for interface " . $WAN)
} else={:log info "IP from $WAN get. (New IP to e-mail script)"}
:log info "Checking & sending IP if needed."
# Check IP address & send if needed
:if ($StoredIP != $CurrIP) do={
/tool e-mail send from=$Eaccount to=$Etomail \
server=$smtpserv port=465 user=$Eaccount password=$Epassword \
subject=("Home $sysname IP changed (" . [/system clock get date] . \
")") body=("New $sysname IP: $CurrIP.\nRouterOS \
version: $sysver\nTime and Date stamp: " . [/system clock get time] . " \
" . [/system clock get date]);
:log info "Send new IP to e-mail complete"
:set StoredIP "$CurrIP"
:log info "Stored IP Updated"
} else={:log info "IP not changed"}
-
- Сообщения: 1601
- Зарегистрирован: 15 сен 2017, 09:03
Проблема видимо в том что у вас $StoredIP = $CurrIP. Кто у Вас определяет $StoredIP первый раз ?
фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
viewtopic.php?f=14&t=13947
-
- Сообщения: 3
- Зарегистрирован: 24 сен 2020, 18:23
- Откуда: 74
Сразу скажу, что я только начинаю изучать. Первоначально я посмотрел адрес и задал StoredIP в терминале вручную. Подскажите варианты как можно подправить.
Вчера специально погасил порт провайдера выждал время пока не кончится резерв адреса и включил. Айпишник сменился. Это хорошо, но опять по шедулу микрот шлет мне один и тот же адрес каждые 2 часа. Может есть вариант либо в dhcp клиенте или в watchdog как то это реализовать? но чтобы отправлял айпишник только при его изменении
Вчера специально погасил порт провайдера выждал время пока не кончится резерв адреса и включил. Айпишник сменился. Это хорошо, но опять по шедулу микрот шлет мне один и тот же адрес каждые 2 часа. Может есть вариант либо в dhcp клиенте или в watchdog как то это реализовать? но чтобы отправлял айпишник только при его изменении
- Virtue
- Сообщения: 142
- Зарегистрирован: 07 мар 2014, 10:17
В терминале наберите
:put $StoredIP
Скопируйте строку целиком, что выдаст и напишите сюда
-
- Сообщения: 3
- Зарегистрирован: 24 сен 2020, 18:23
- Откуда: 74
Пустую строку выдал. Совсем ничего. Проверил в ворде с включенными невидимыми символами.
Сегодня Watchdog сработал. За инет вчера не заплатил и роутер перегрузился.
/environment print тоже ничего не выдал после ребута
Сегодня Watchdog сработал. За инет вчера не заплатил и роутер перегрузился.
/environment print тоже ничего не выдал после ребута