Eine weitere Option für die Benachrichtigung durch MikroTik-Geräte ist das Senden von E-Mail-Benachrichtigungen.
Zum Konfigurieren benötigen Sie die SMTP-Parameter Ihres Mailservers. Wenn der Mailserver die Zwei-Faktor-Authentifizierung verwendet, verwenden Sie den App-Schlüssel anstelle des Kennworts (normalerweise im Helpdesk des Mail-Dienstes aufgeführt).
🔔 Wenn Sie die IP-Adresse des SMTP-Servers haben und diese sich nicht ändert, geben Sie sie im Parameter server an. Wenn Sie einen SMTP-Server-Domänennamen mit einer dynamischen IP haben, erlauben Sie MikroTik, den Domänennamen mithilfe des Konstrukts [: resolve „smtp.mail.com“] in eine IP-Adresse aufzulösen.
Artikel in anderen Sprachen:
🇺🇸 – MikroTik Scripts: Sending Notifications and Files to Email
🇪🇸 – Scripts MikroTik: Envío de notificaciones y archivos por correo electrónico
🇷🇺 – MikroTik Скрипты: Отправить письмо и файл на почту
🇫🇷 – Scripts MikroTik: envoi de notifications et de fichiers par courrier électronique
🇳🇱 – MikroTik-scripts: e-mail en bestand naar e-mail verzenden (functie)
Send email from MikroTik (simple option)
Ein Skript zum Senden einer E-Mail und einer angehängten Datei an die angegebene E-Mail.
Einzeiliges Skript:
/tool e-mail send to=destination_mail@mail.com server=[:resolve "smtp.mail.com"] port=465 start-tls=tls-only user="source mail@mail.com" password="Password" from="source mail@mail.com" subject="Subject" body="Simple Text" file="file_for_send.txt"
Mehrzeiliges Skript (bessere Lesbarkeit):
/tool e-mail send to=destination_mail@mail.com \
server=[:resolve "smtp.mail.com"] port=465 start-tls=tls-only \
user="source mail@mail.com" password="Password" from="source mail@mail.com" \
subject="Subject" body="Simple Text" \
file="file_for_send.txt"
E-Mail von MikroTik senden (Funktion)
Wenn Sie das Senden von E-Mail-Benachrichtigungen aus vielen Skripten verwenden, empfehle ich, das Skript in die Funktion „E-Mail senden“ und das Skript „Funktion zum Senden von E-Mails aufrufen“ zu unterteilen.
🔔 Achtung: In RouterOS v7 hat sich die Syntax des tls-Parameters geändert, daher befinden sich hier zwei Versionen der Funktion.
Funktion „E-Mail senden“ für RouterOS v7
Lassen Sie uns ein Skript erstellen:
[System] -> [Scripts] -> [+] -> [Name: SendEmailFunction] -> [Policy: Don't require permissions]
Skriptcode:
# Variables
:local SendFrom "source_mail@mail.com";
:local PasswordMail "Password";
:local SmtpServer [:resolve "smtp.mail.com"];
:local UserName "source_mail@mail.com";
:local SmtpPort 465;
:local UseTLS "yes";
# Main script code
/tool e-mail send to=$SendTo server=$SmtpServer port=$SmtpPort tls=$UseTLS user=$SendFrom password=$PasswordMail from=$SendFrom subject=$Subject body=$TextMail file=$FileName;
Funktion „E-Mail senden“ für RouterOS v6
Lassen Sie uns ein Skript erstellen:
[System] -> [Scripts] -> [+] -> [Name: SendEmailFunction] -> [Policy: Don't require permissions]
Skriptcode:
# Variables
:local SendFrom "source_mail@mail.com";
:local PasswordMail "Password";
:local SmtpServer [:resolve "smtp.mail.com"];
:local UserName "source_mail@mail.com";
:local SmtpPort 465;
:local UseTLS "tls-only";
# Main script code
/tool e-mail send to=$SendTo server=$SmtpServer port=$SmtpPort start-tls=$UseTLS user=$SendFrom password=$PasswordMail from=$SendFrom subject=$Subject body=$TextMail file=$FileName;
Aufruf der Funktion „E-Mail senden“
Wir rufen eine Funktion namens SendEmailFunction aus dem SendEmailCall-Skript auf.
Erstellen Sie ein neues SendEmailCall-Skript:
[System] -> [Scripts] -> [+] -> [Name: SendEmailCall] -> [Policy: read, write, policy, test]
Geben Sie die Parameter an, die an die Hauptfunktion übergeben werden sollen:
- SendTo – Postanschrift;
- Subject – Betreff der Nachricht;
- MessageText – Nachrichtentext;
- FileName – ist der Name der Datei (optional).
Skriptcode:
# Variables
:local DeviceName [/system identity get name];
:local Time [/system clock get time];
:local Date [/system clock get date];
:local SendTo "destination_mail@mail.com";
:local Subject "\F0\9F\9F\A2 INFO: $DeviceName [$Date $Time]";
:local MessageText "This informational message indicates the successful execution of the script on device $DeviceName";
:local FileName "some_file.txt";
# Main script code
:local SendEmail [:parse [/system script get SendEmailFunction source]];
$SendEmail SendTo=$SendTo TextMail=$MessageText Subject=$Subject FileName=$FileName;
🟢 In diesem Artikel wurde erläutert, wie Sie eine E-Mail oder Datei von einem MikroTik-Gerät senden. Ich hoffe, Sie können jetzt Benachrichtigungen von MikroTik-Geräten per E-Mail senden. Wenn Sie jedoch beim Einrichten auf Probleme stoßen, können Sie diese gerne in die Kommentare eintragen. Ich werde versuchen zu helfen.
Das Skript wird überprüft: hAP ac lite [RouterBOARD 952Ui-5ac2nD], RouterOS 6.47.8 (stable).