MikroTik-scripts: E-mail en bestand naar e-mail verzenden (functie)

Een andere optie voor het MikroTik-apparaat is om e-mailmeldingen te verzenden.

Voorbeeld-e-mail van MikroTik-apparaat
Voorbeeld-e-mail van MikroTik-apparaat

Om te configureren heeft u de SMTP-parameters van uw mailserver nodig. Als uw mailserver tweefactorauthenticatie gebruikt, gebruikt u de app-sleutel in plaats van het wachtwoord (meestal vermeld in Help).

? Als u het IP-adres van de SMTP-server heeft en het verandert niet, specificeer het dan in de server -parameter. Als je een domeinnaam hebt van een SMTP-server met een dynamisch IP-adres, sta MikroTik dan toe om de domeinnaam om te zetten in een IP-adres met behulp van de [: resolven “smtp.mail.com”] – constructie.

Artikel in andere talen:
?? – 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-Skripte: Senden von benachrichtigungen und daten an E-mails

E-mail verzenden vanuit MikroTik (eenvoudige optie)

Een script voor het verzenden van een brief en een bijgevoegd bestand naar de opgegeven mail.

Eén regel script:

/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"

Meerregelig script (betere leesbaarheid):

/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 verzenden vanaf MikroTik (functie)

Als u het verzenden van e-mail notificaties van veel scripts gebruikt, raad ik aan het script te scheiden in de “Send email” -functie en het “Call the function send email” script.

? Let op: in RouterOS v7 is de syntaxis van de tls-parameter gewijzigd, dus twee versies van de functie bevinden zich hier.

Functie “E-mail verzenden” voor RouterOS v7

Laten we een script maken:

[System] -> [Scripts] -> [+] -> [Name: SendEmailFunction] -> [Policy: Don't require permissions]

Scriptcode:

# 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;

Functie “E-mail verzenden” voor RouterOS v6

Laten we een script maken:

[System] -> [Scripts] -> [+] -> [Name: SendEmailFunction] -> [Policy: Don't require permissions]

Scriptcode:

# 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;
MikroTik-scripts: e-mail en bestand naar e-mail verzenden (functie)

Oproepen van de functie “Send mail”

We roepen een functie met de naam SendEmailFunction aan vanuit het SendEmailCall-script.

Maak een nieuw SendEmailCall-script:

[System] -> [Scripts] -> [+] -> [Name: SendEmailCall] -> [Policy: read, write, policy, test]

Specificeer de parameters die moeten worden doorgegeven aan de hoofdfunctie:

  • SendTo – e-mailadres;
  • Subject – letter onderwerp;
  • MessageText – tekst van de brief;
  • FileName – bestandsnaam (optioneel).

Scriptcode:

# 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;
Script E-mail verzenden vanaf MikroTik-apparaat

? In dit artikel werd besproken hoe u een e-mail of bestand vanaf een MikroTik-apparaat verzendt. Ik hoop dat je nu meldingen van MikroTik-apparaten via e-mail kunt verzenden. Als u echter problemen ondervindt tijdens het instellen, kunt u in de opmerkingen schrijven. Ik zal proberen te helpen.

Het script wordt gecontroleerd: hAP ac lite [RouterBOARD 952Ui-5ac2nD], RouterOS 6.47.8 (stabiel).

Plaats een reactie