Inhaltsverzeichnis:

E-Mail mit Foto automatisch aus Batch-Datei mit altem Desktop und XP senden - Gunook
E-Mail mit Foto automatisch aus Batch-Datei mit altem Desktop und XP senden - Gunook

Video: E-Mail mit Foto automatisch aus Batch-Datei mit altem Desktop und XP senden - Gunook

Video: E-Mail mit Foto automatisch aus Batch-Datei mit altem Desktop und XP senden - Gunook
Video: Dateien vom Handy auf Laptop übertragen (Tutorial) Einfach Fotos und Daten auf den PC kopieren 2024, Juli
Anonim
Senden Sie automatisch E-Mails mit Foto aus einer Batch-Datei mit dem alten Desktop und XP
Senden Sie automatisch E-Mails mit Foto aus einer Batch-Datei mit dem alten Desktop und XP

Ich habe das große Glück, einen tollen Blick aus meinem Home-Office-Fenster zu haben. Wenn ich abwesend bin, möchte ich sehen, was mir fehlt, und bin häufig weg. Früher hatte ich meine eigene Website und eine Heimwetterstation, die alle Wetterdaten und ein Foto aus dem Fenster über FTP hochlud, aber der Website-Host-Provider machte die Wartung der Website mühsam, so dass ich nach vielen Jahren aufgab es. Ich wollte eine Ersatzmethode finden, um aus dem Fenster zu schauen, z. B. kostenlose Websites, Blogs, E-Mails… aber in den meisten Fällen wurden automatisierte FTP-Übertragungen zu diesen potenziellen Lösungen blockiert. Eine zusätzliche Komplikation ist, dass ich häufig monatelang weg bin, also muss jede Lösung, auf die man sich einlässt, zuverlässig sein.

Ich wurde von Instructables-Autor Olivi3r und seinem Instructable für die Erstellung einer Überwachungskamera inspiriert. Nach einem Tag oder so des Händeringens hatte ich es funktioniert. Dieses Instructable fügt einige wichtige Details hinzu.

Grundsätzlich geht es darum, jeden Morgen ein Foto mit der Webcam zu machen und mir das Foto dann per gmail als Anhang zuzusenden. Dies wird wie folgt geschehen:

  • Der Wechselstrom wird mit einem 110-VAC-Timer für 15 Minuten eingeschaltet
  • Computer fährt hoch
  • Webcam-Software nimmt ein Foto auf
  • Eine Windows-Batchdatei wird ausgeführt, die Folgendes bewirkt:
  • Führen Sie eine PowerShell-Skriptdatei aus, die die E-Mail und den Anhang sendet
  • Der Batchdateibefehl fährt den Computer herunter
  • Wechselstrom wird ausgeschaltet

Vorbehalte: Ich bin kein Windows-Programmierer - fragen Sie mich nicht, wenn es nicht funktioniert. Ich habe diesen Ansatz zum Laufen gebracht, indem ich durch das Internet geschnorchelt bin, bis ich die erforderlichen Einblicke in das Debuggen meiner Dateien gefunden habe. Zweitens wollte ich, dass dies auf einem Windows XP-Computer läuft. Ich bin sicher, dass es bessere Lösungen auf einem Windows 10-Computer gibt. Tatsächlich gibt es wahrscheinlich bessere Lösungen auf einem XP-Rechner. Wenn Sie welche finden, schreiben Sie sie in die Kommentare. Die Ausführung dieses Ansatzes auf einem Laptop kann schwierig sein, da der Computer beim Einschalten des Netzstroms eingeschaltet werden muss. Der Instructables-Code-Editor hat die unangenehme Angewohnheit, andere HTML-Tags in den Code einzufügen (einschließlich des Codes von Olivi3r). Ich glaube, ich habe all dies bearbeitet, aber Vorsicht. Schließlich würde mir die Schaltfläche "Vollständige Vorschau" von Instructables nur eine leere weiße Seite geben - also WYSIWYG!

Wir werden dies in 4 Schritten tun:

  1. Bereiten Sie den Computer vor
  2. Schreiben und Debuggen eines PowerShell-Skripts
  3. Schreiben und Debuggen einer Batch-Datei
  4. Pack alles ein und Bob ist dein Onkel!

Schritt 1: Bereiten Sie den Computer vor

Graben Sie zuerst einen alten Desktop aus dem Schrank. Wenn es unter Windows XP (SP3) ausgeführt wird, funktioniert es. Dieses Instructable wurde für XP entwickelt, aber der Ansatz sollte unter Windows 10 gleich sein. Starten Sie es und rufen Sie das BIOS auf (normalerweise F1, Del oder F2 während des Bootvorgangs). Suchen Sie nach "Power Management" und ändern Sie es in "AC Power Recovery - ON". Dadurch wird der Computer beim Einschalten des Netzstroms hochgefahren. Probier es aus.

Sie müssen alle Passwörter deaktivieren und sich als Administrator anmelden. Dies liegt daran, dass der Computer den Startvorgang unbeaufsichtigt abschließen muss. Gehen Sie zu Systemsteuerung, Benutzerkonten und nehmen Sie bei Bedarf die entsprechenden Änderungen vor.

Als nächstes benötigen Sie eine Webcam und eine Webcam-Anwendung, die ein Bild aufnimmt und speichert. Ich benutze Dorgem - einfach und kostenlos. Richten Sie Dorgem ein, um ein Bild aufzunehmen und auf dem Desktop zu speichern. Ändern Sie beim Aufnehmen eines neuen Bildes nicht den Namen des Bildes, sondern überschreiben Sie das letzte Bild. In diesem Beispiel ist das Bild Pic.jpg. Beachten Sie auch, dass ich das Bild auf dem Desktop speichere. Dies ist wichtig, da der Verzeichnispfad einfach ist. Ziehen Sie das Dorgem-Symbol per Drag & Drop in den Windows-STARTUP-Ordner.

Nun - ein paar knifflige Bits:

Sie müssen Ihr Chrome-Konto ändern, um weniger sichere Apps zuzulassen. Goggle "Chrome weniger sichere Apps" und wählen Sie die erste Option - wahrscheinlich diese. Schalten Sie diese Funktion ein. Sie erhalten eine E-Mail-Benachrichtigung, die Sie über die Gefahren dieser Einstellung informiert. Dies ist möglicherweise nicht erforderlich, wenn Sie einen anderen E-Mail-Server verwenden, z. Yahoo, AOL…

Als nächstes müssen Sie die Ausführung von PowerShell-Skripten aktivieren. Wenn Sie Windows 10 verwenden, ist dies einfacher - klicken Sie auf das Windows-Symbol (untere linke Ecke des Bildschirms), scrollen Sie in der Liste der Programme nach unten zu Windows PowerShell, erweitern Sie, klicken Sie mit der rechten Maustaste auf PowerShell und wählen Sie "Als Administrator ausführen". Dadurch wird das PowerShell-Fenster geöffnet. Unter XP ist der Vorgang etwas komplizierter - verwenden Sie den Datei-Explorer, suchen Sie das PowerShell-Verzeichnis (etwa C:\Windows\system32\WindowsPowerShell\v1.0), klicken Sie mit der rechten Maustaste auf das PowerShell-Symbol und wählen Sie "An Startmenü anheften". Jetzt haben Sie Zugriff auf PowerShell, indem Sie auf das Startsymbol (unten links) klicken und auf das PowerShell-Symbol klicken. Klicken Sie auf das PowerShell-Symbol und geben Sie im angezeigten Fenster den folgenden Befehl ein:

set-executionpolicy remotesigned

Sie werden aufgefordert, mit "y" zu bestätigen.

Bestätigen Sie, dass Sie die Ausführungsrichtlinie erfolgreich geändert haben, indem Sie Folgendes eingeben:

Ausführungspolitik

Okay! Ihr Computer ist bereit.

Schritt 2: Schreiben und Debuggen einer PowerShell-Datei

Kopieren Sie diesen Text und fügen Sie ihn in Notepad ein:

$EmailTo = "[email protected]"

$EmailFrom = "[email protected]" $Subject = "View" $Body = "x" $SMTPServer = "smtp.gmail.com" $SMTPMessage = New-Object System. Net. Mail. MailMessage($EmailFrom, $ EmailTo, $Subject, $Body) $attachment = New-Object System. Net. Mail. Attachment("C:\Dokumente und Einstellungen\Administrator\Desktop\pic.jpg") $SMTPMessage. Attachments. Add($attachment) $ SMTPClient = New-Object Net. Mail. SmtpClient($SmtpServer, 587) $SMTPClient. EnableSsl = $True $SMTPClient. Credentials = New-Object System. Net. NetworkCredential("userID", "password"); $SMTPClient. Send($SMTPMessage)

Speichern Sie diese Datei auf dem Desktop als "SendPic.ps1".

Nehmen Sie die entsprechenden Änderungen vor; Sie, Benutzer-ID und Passwort. Normalerweise ist Ihre Benutzer-ID identisch mit Ihrer vollständigen Gmail-Adresse.

Wenn Sie Gmail nicht verwenden, müssen Sie das Internet durchsuchen, um den mit Ihrem SMTP-Server verknüpften Port zu finden, und "587" in den entsprechenden Port ändern, z. smtp.mail.yahoo.com und der Port ist 465.

Anstatt Notepad zu verwenden, steht der PowerShell-Editor zur Verfügung.

Nun zum großen - Rechtsklick auf die SendPic PowerShell-Datei und wählen Sie "Run with PowerShell". Wenn es funktioniert, erhalten Sie in wenigen Sekunden eine E-Mail. Wenn dies nicht der Fall ist, müssen Sie mit dem Debuggen beginnen.

Debuggen

Erstellen Sie auf Ihrem Desktop eine neue PowerShell-Datei namens test1, die eine E-Mail ohne Anhang sendet:

$EmailTo = "[email protected]"

$EmailFrom = "[email protected]" $Subject = "test" $Body = "x" $SMTPServer = "smtp.gmail.com" $SMTPMessage = Neues Objekt System. Net. Mail. MailMessage($EmailFrom, $ EmailTo, $Subject, $Body) $SMTPClient = New-Object Net. Mail. SmtpClient($SmtpServer, 587) $SMTPClient. EnableSsl = $True $SMTPClient. Credentials = New-Object System. Net. NetworkCredential("userID", "Passwort"); $SMTPClient. Send($SMTPMessage)

Öffnen Sie die Datei mit dem PowerShell-Editor, indem Sie mit der rechten Maustaste auf die Datei klicken und "Bearbeiten" auswählen. Durch Ausführen aus dem Editor können wir die Fehlermeldungen lesen, die beim Doppelklicken auf die Datei aufleuchten.

cd.\desktop

.\test1.ps1

Wenn dies fehlschlägt, liegt wahrscheinlich ein Verzeichnisproblem vor. Stellen Sie sicher, dass PowerShell auf das Desktopverzeichnis verweist. Die Eingabeaufforderung sieht in etwa so aus:

PS C:\Benutzer\Sie\Desktop>

Ist dies nicht der Fall, müssen Sie sich alle Ihre alten DOS-Befehle merken; cd, dir,.\ usw., um PowerShell auf den Desktop zu verweisen. Versuchen Sie es erneut, wenn es nicht funktioniert, lesen Sie die Fehlermeldung, um das Problem zu entdecken

.\test1

Schritt 3: Schreiben und Debuggen einer Batch-Datei

Öffnen Sie Notepad und kopieren Sie den folgenden Text:

PING localhost -n 180 >NUL

powershell.exe.\SendPic.ps1 shutdown -s -t 100

Die PING-Anweisung ist ein echter Hack, der jede Sekunde 180 Mal eine Kommunikationsanfrage sendet. Die Verzögerung sollte lang genug sein, damit der Computer hochfährt, eine Internetverbindung herstellt und ein Webcam-Foto macht. Neuere Versionen von Windows unterstützen TIMEOUT - viel sauberer.

Die nächste Anweisung führt die PowerShell-Datei aus, die die E-Mail mit angehängtem Foto sendet.

Die letzte Anweisung bewirkt, dass sich der Computer nach einer Verzögerung von 100 Sekunden ausschaltet. Diese Zeit wird als ausreichend gewählt, um die E-Mail zu versenden.

Speichern Sie die Datei auf Ihrem Desktop als SendPic.bat (nicht. TXT, wie dies der Fall ist, wenn Sie die Erweiterung nicht zum Dateinamen hinzufügen. Ziehen Sie die Datei per Drag & Drop in den Windows-STARTUP-Ordner.

Doppelklicken Sie auf das Batchdatei-Symbol. Sie sollten die E-Mail erhalten. Whoa! Zu einfach. Ja, es kann viel schiefgehen.

Debuggen

Das Problem beim Debuggen sowohl dieser.bat-Datei als auch der vorherigen.ps1-Datei besteht darin, dass die Fehler viel zu schnell blinken, um sie zu lesen. Sie können es verlangsamen mit:

PAUSE

PING localhost -n 180 >NUL PAUSE powershell.exe.\SendPic.ps1 PAUSE Herunterfahren -s -t 100 PAUSE

PAUSE wartet darauf, dass Sie die ENTER-Taste drücken. Lesen Sie die Fehlermeldung. Auch hier handelt es sich wahrscheinlich um ein Verzeichnisproblem. Nachdem Sie das Problem behoben haben, entfernen Sie die PAUSE-Anweisungen, da sonst das Programm hängen bleibt.

Wenn Sie die Batchdatei während der Ausführung beenden möchten, klicken Sie in das geöffnete cmd-Fenster und geben Sie ^C (Strg C) ein.

Schritt 4: Einpacken

Verpacken
Verpacken

Alte Desktops, auf denen Windows ausgeführt wird, sind nicht für ihre Zuverlässigkeit bekannt. Was ist das Erste, was Sie tun, wenn Ihr Computer zusammenpackt? Schalten Sie den Strom aus! Das werden wir also tun. Finden Sie einen AC-Timer-Schalter bei Walmart oder Amazon. Die billigen sind mechanisch (weniger als 10 US-Dollar), die teureren sind elektronisch (mehr als 20 US-Dollar). Programmieren Sie den Schalter so, dass er sich beispielsweise um 8 Uhr morgens einschaltet und 15 Minuten später wieder ausschaltet. Stecken Sie Ihren Computer in die Timer-Steckdose.

Wenn die Zeitschaltuhr Ihren Computer mit Strom versorgt, wird die folgende Ereignissequenz eingeleitet:

  1. BIOS erkennt Wechselstrom, Computer fährt hoch
  2. Windows startet (ohne Passwortanmeldung)
  3. Webcam-Programm startet und schnappt Bild
  4. Ausführung der Batch-Datei beginnt

    1. Verzögerung für den Abschluss des Bootvorgangs, der Bildaufnahme und der Internetanmeldung
    2. Führen Sie die PowerShell-Datei aus, um eine E-Mail mit Anhang zu senden
    3. Verzögerung bei der Fertigstellung der E-Mail
    4. Den Computer herunterfahren

Die Zeitschaltuhr unterbricht dann die Stromversorgung des Computers. Dies ist der Schlüssel für einen zuverlässigen unbeaufsichtigten Betrieb. Ich habe zeitweilige Festplattenausfälle, Programmabbrüche und andere Computerstopps überlebt, aber wenn das System ausfällt, kommt es nach einem Stromzyklus wieder.

Dieser Ansatz lässt sich leicht an die Sicherheitsüberwachung anpassen. Verwenden Sie beispielsweise iSpy, um einen kurzen Videoclip zu erstellen, wenn eine Bewegung erkannt wird, und senden Sie eine E-Mail mit einem Videoanhang. Tatsächlich könnte das Konzept so erweitert werden, dass bei der Erkennung eines Ereignisses eine E-Mail-Benachrichtigung gesendet wird und ein Arduino und die in diesem Universum verfügbaren physischen Sensoren hinzugefügt werden - der Himmel ist die Grenze!

Empfohlen: