Speichern Sie auf dem Remotecomputer den folgenden AppleScript-Code in einem neuen Script Editor.App-Dokument (Script Editor.App befindet sich hier ... / Applications / Utilities / Script Editor.app) als "Stay Open" -Anwendung. Stellen Sie vor dem Speichern dieses Dokuments als Anwendung sicher, dass Sie Ihre aktuelle externe IP-Adresse und die E-Mail-Adresse in die ersten beiden Zeilen des Codes eingeben.
Um zusammenzufassen, was der AppleScript-Code tut, ist einfach ... Alle 15 Minuten wird Ihre aktuelle externe IP-Adresse mit der IP-Adresse verglichen, die Sie in der ersten Zeile des Codes festgelegt haben. Wenn diese beiden IP-Adressen nicht identisch sind, sendet das Skript eine neue E-Mail (an die in der zweiten Zeile des Codes festgelegte E-Mail-Adresse) mit der neuen aktualisierten externen IP-Adresse.
Wenn Sie dann wie beim Öffnen einer anderen Anwendung im Finder auf Ihre neu erstellte App doppelklicken, wird die neue App ausgeführt.
-Eigenschaft ipAddress: "123.456.7.89" - Aktuelle externe IP-Adresse einfügen (nur einmal festlegen)
Eigenschaft toRecipient: "whoever@gmail.com" - E-Mail zum Abrufen der IP hat Nachrichten geändert
im Leerlauf
Stellen Sie das IP ein, um das Shell-Skript "curl ifconfig.co" auszuführen.
Wenn theIP nicht gleich ipAddress ist, dann
Anwendung "Mail" mitteilen
Setzen Sie newEmail auf (neue ausgehende Nachricht erstellen)
Setzen Sie den Inhalt von newEmail auf theIP
Setzen Sie den Betreff von newEmail auf "IP-Adresse hat sich geändert".
Erzählen Sie newEmail
Neu machen für Empfänger mit Eigenschaften {Adresse: toRecipient}
senden
Ende erzählen
Ende erzählen
setze ipAddress auf theIP
ende wenn
Rückkehr (15 * Minuten) - Wartet 15 min. um die IP erneut zu überprüfen
Ende im Leerlauf
Vergessen Sie nicht, diese neue AppleScript-Anwendung in den Systemeinstellungen zur Liste der Apps hinzuzufügen, die Ihren Computer steuern dürfen.
UPDATE
Obwohl das obige Skript zu funktionieren scheint, habe ich mich nach mehreren Durchläufen und geringfügigen Änderungen am Code zu Testzwecken entschlossen, eine alternative Lösung zu erstellen. Aufgrund der neuen Sicherheitseinstellungen in macOS Mojave und der Unfähigkeit von AppleScript, die globalen und persistenten Eigenschaftswerte über Läufe hinweg zuverlässig zu aktualisieren und beizubehalten, halte ich diese alternative Lösung für viel zuverlässiger.
Step 1: Speichern Sie auf dem Remotecomputer in Script Editor.app diesen AppleScript-Code als .scpt-Datei und nennen Sie ihn "Get Current External IP.scpt"
B Stellen Sie sicher, dass Sie den Wert der Eigenschaft in Empfänger
in Ihre E-Mail-Adresse
ändern
-Eigenschaft ipAddress: "1.1.1.1" - Nicht erforderlich zum Festlegen
Eigenschaft toRecipient: "YourEmail@gmail.com" - E-Mail zum Abrufen der IP hat Nachrichten geändert
set emailIsRunning auf Anwendung "Mail" wird ausgeführt - Überprüft, ob Mail ausgeführt wird
Versuchen
setze lastLoggedIP auf readFile ()
Stellen Sie das IP ein, um das Shell-Skript "curl ifconfig.co" auszuführen.
Wenn theIP nicht gleich lastLoggedIP ist, dann
sendNewEmail ()
writeToTheFile ()
ende wenn
bei Fehler errMsg Nummer errNum
Wenn errNum -43 ist, dann - Der Fehler, wenn die Datei für readFile () noch nicht vorhanden ist
Stellen Sie das IP ein, um das Shell-Skript "curl ifconfig.co" auszuführen.
Wenn theIP nicht gleich ipAddress ist, dann
sendNewEmail ()
writeToTheFile () - Erstellt die Datei "/ private / tmp / IP Logger.txt"
ende wenn
sonst
aktivieren Sie
Anzeigedialog "Ein Fehler ist aufgetreten:" & return & errMsg & "" & errNum gibt nach 10 auf
ende wenn
Ende versuchen
Verzögerung 20 - Ermöglicht das Abschließen eingehender oder ausgehender E-Mail-Nachrichten
Wenn nicht emailIsRunning, beenden Sie die Anwendung "Mail" - Beendet Mail, wenn sie noch nicht ausgeführt wurde
to sendNewEmail () - Sendet neue E-Mails, wenn sich die IP ändert
Stellen Sie das IP ein, um das Shell-Skript "curl ifconfig.co" auszuführen.
Anwendung "Mail" mitteilen
Setzen Sie newEmail auf (neue ausgehende Nachricht erstellen)
Setzen Sie den Inhalt von newEmail auf theIP
Setzen Sie den Betreff von newEmail auf "IP-Adresse hat sich geändert".
Erzählen Sie newEmail
Neu machen für Empfänger mit Eigenschaften {Adresse: toRecipient}
senden
Ende erzählen
Ende erzählen
setze ipAddress auf theIP
Beenden Sie sendNewEmail
on readFile () - Liest IP Logger.txt, um nach IP-Änderungen zu suchen
Setzen Sie die Datei1 auf den Alias "privat: tmp: IP Logger.txt".
Setzen Sie lastLoggedIP auf das letzte Element von (lesen Sie die Datei1 als Text mit dem Trennzeichen-Zeilenvorschub).
end readFile
on writeToTheFile () - Protokolliert jede IP-Änderung in Datei
Stellen Sie das IP ein, um das Shell-Skript "curl ifconfig.co" auszuführen.
Setzen Sie die Datei auf "/ private / tmp / IP Logger.txt".
Setzen Sie den Text auf theIP
Versuchen
Setzen Sie writeToFile so, dass es für den Zugriff auf die Datei mit Schreibberechtigung geöffnet wird
Schreiben Sie den Zeilenvorschub Text & in writeToFile als Text ab eof
Schließen Sie den Zugriff auf die Datei
bei Fehler errMsg Nummer errNum
Schließen Sie den Zugriff auf die Datei
Setzen Sie writeToFile so, dass es für den Zugriff auf die Datei mit Schreibberechtigung geöffnet wird
Schreiben Sie den Zeilenvorschub Text & in writeToFile als Text ab eof
Schließen Sie den Zugriff auf die Datei
Ende versuchen
ende writeToTheFile
Step 2: Speichern Sie auf dem Remotecomputer in Script Editor.app den folgenden AppleScript-Code als Anwendungsdatei "Offen bleiben". Ich habe es "IP Changed Email Notify.app" genannt.
Wenn Sie in Schritt 1 "Get Current External IP.scpt" nicht in Ihrem Dokumentenordner von oben gespeichert haben, müssen Sie den Speicherort in der Eigenschaft " currentExternalIP
in dem folgenden Code festlegen.
-Eigenschaft currentExternalIP: alias ((Pfad zum Dokumentenordner als Text) & "Get Current External IP.scpt")
Führen Sie das Skript currentExternalIP aus
im Leerlauf
Führen Sie das Skript currentExternalIP aus
Rückkehr (15 * Minuten)
Ende im Leerlauf
Wenn Sie die neue AppleScript-App (IP Changed Email Notify.app) zum ersten Mal von außerhalb von Script Editor.app ausführen, wird der folgende Dialog angezeigt ...
Klicken Sie einfach auf "OK" und da die gesamte Arbeit tatsächlich von "Get Current External IP.scpt" ausgeführt wird, sollten keine zukünftigen Dialoge oder Warnungen mehr bearbeitet werden.
Step 3: (OPTIONAL) Fügen Sie auf dem Remotecomputer diese neu erstellte AppleScript-Anwendung (IP Changed Email Notify.app) zu Ihren "Anmeldeelementen" im Bereich "Systemeinstellungen für Benutzer und Gruppen" hinzu.Jedes Mal, wenn der Computer neu gestartet wird, wird IP Changed Email Notify.app automatisch ausgeführt und jedes Mal, wenn sich die externe IP-Adresse dieses Computers ändert, erhalten Sie eine E-Mail-Benachrichtigung.