Indholdsfortegnelse:

Send automatisk e -mail med foto fra batchfil ved hjælp af gammelt skrivebord og XP: 4 trin
Send automatisk e -mail med foto fra batchfil ved hjælp af gammelt skrivebord og XP: 4 trin

Video: Send automatisk e -mail med foto fra batchfil ved hjælp af gammelt skrivebord og XP: 4 trin

Video: Send automatisk e -mail med foto fra batchfil ved hjælp af gammelt skrivebord og XP: 4 trin
Video: Mining Tron, CPU Mining TRX Coin Paling Mudah WD Indodax 2024, November
Anonim
Send automatisk e -mail med foto fra batchfil ved hjælp af gammelt skrivebord og XP
Send automatisk e -mail med foto fra batchfil ved hjælp af gammelt skrivebord og XP

Jeg er meget heldig at have en fantastisk udsigt fra mit hjemmekontors vindue. Når jeg er væk, vil jeg se, hvad jeg mangler, og jeg er ofte væk. Jeg plejede at have mit eget websted og en hjemmevejrstation, der ville uploade alle ftp -data fra vejret og et foto taget ud af vinduet, men webstedsværtsudbyderen gjorde vedligeholdelse af webstedet besværligt, så efter mange år faldt jeg det. Jeg havde til hensigt at finde en erstatningsmetode til at kigge ud af vinduet f.eks. gratis websteder, blogs, e -mail … men i de fleste tilfælde blev automatiserede ftp -overførsler til disse potentielle løsninger blokeret. En ekstra komplikation er, at jeg ofte er væk i flere måneder ad gangen, så den løsning, der afgøres, skal være pålidelig.

Jeg blev inspireret af Instructables -forfatteren Olivi3r og hans Instructable til at skabe et sikkerhedskamera. Efter et par dages håndvridning fik jeg det til at fungere. Denne instruktør tilføjer et par vigtige detaljer.

Grundlæggende er målet at snappe et foto med webkameraet hver morgen og derefter sende billedet til mig selv via gmail som en vedhæftet fil. Dette vil ske som følger:

  • Vekselstrøm tændes i 15 minutter ved hjælp af en 110VAC timer
  • Computeren tændes
  • Webcam -software tager et foto
  • En Windows -batchfil udføres, der vil:
  • Udfør en PowerShell -scriptfil, der sender e -mailen og vedhæftede filer
  • Batchfilkommandoen lukker computeren
  • Vekselstrømmen slukker

Advarsler: Jeg er ikke en Windows -programmør - spørg mig ikke, om det ikke virker. Jeg fik denne tilgang til at fungere ved at snorkle gennem internettet, indtil jeg fandt den nødvendige indsigt i fejlfinding af mine filer. For det andet ville jeg have, at dette skulle køre på en Windows XP -maskine, jeg er sikker på, at der er bedre løsninger på en Windows 10 -computer. Faktisk er der sandsynligvis bedre løsninger på en XP -maskine. Hvis du finder nogen, skal du sætte dem i kommentarerne. At køre denne fremgangsmåde på en bærbar computer kan være dicey, fordi computeren skal tænde, når vekselstrømmen er tændt. Instructables -kodeditoren har en grim vane med at indsætte og andre HTML -tags i koden (inklusive Olivi3rs kode). Jeg tror, jeg har redigeret alle disse ud, men pas på.. Til sidst ville Instructables "Full Preview" -knappen kun give mig en blank hvid side - så WYSIWYG!

Vi gør dette i 4 trin:

  1. Klargør computeren
  2. Skriv og fejlret et PowerShell -script
  3. Skriv og fejlsøg en batchfil
  4. Afslut det hele, og Bob er din onkel!

Trin 1: Klargør computeren

Grav først et gammelt skrivebord ud af skabet. Hvis det kører på Windows XP (SP3) - det vil fungere. Denne instruks er designet til XP, men tilgangen skal være den samme på Windows 10. Fyr den op og påkald BIOS (normalt F1, del eller F2 under opstartsprocessen). Find noget i stil med "Strømstyring", og skift det til "AC Power Recovery - ON". Dette får computeren til at starte op, når vekselstrømmen tændes. Test det.

Du bliver nødt til at deaktivere alle adgangskoder og logge på som administrator. Dette skyldes, at computeren skal afslutte opstartsprocessen uden opsyn. Gå til Kontrolpanel, Brugerkonti, og foretag de nødvendige ændringer, hvis det kræves.

Derefter har du brug for et webcam og et webcam -program, der snapper et billede og gemmer det. Jeg bruger Dorgem - enkelt og gratis. Konfigurer Dorgem til at tage et billede og gemme det på skrivebordet. Skift ikke billedets navn, når du tager et nyt billede, i stedet overskriv det sidste billede. I dette eksempel er billedet Pic.jpg. Bemærk også, at jeg gemmer billedet på skrivebordet. Dette er vigtigt, fordi bibliotekstien er let. Træk og slip Dorgem -ikonet i Windows STARTUP -mappen.

Nu - et par tricky bits:

Du skal ændre din Chrome -konto for at tillade mindre sikre apps. Goggle "krom mindre sikre apps" og vælg den første mulighed - sandsynligvis denne. Slå denne funktion til. Du får en e -mail -advarsel, der informerer dig om farerne ved denne indstilling. Du behøver muligvis ikke at gøre dette, hvis du bruger en anden e -mailserver, f.eks. Yahoo, AOL …

Dernæst skal du aktivere udførelsen af PowerShell -scripts. Hvis du kører Windows 10, er dette lettere - klik på Windows -ikonet (nederste venstre hjørne af skærmen), rul ned på listen over programmer til Windows PowerShell, udvid, højreklik på PowerShell og vælg "Kør som administrator". Dette åbner PowerShell -vinduet. I XP er processen lidt mere kompliceret - brug File Explorer, find PowerShell -biblioteket (noget som C: / Windows / system32 / WindowsPowerShell / v1.0), højreklik på PowerShell -ikonet og vælg "Pin to start menu". Nu har du adgang til PowerShell ved at klikke på ikonet Start (nederst til venstre) og klikke på PowerShell -ikonet. Klik på PowerShell -ikonet, i det vindue, der dukker op, skriver du følgende kommando:

sæt-eksekveringspolitik fjerndesignet

Du bliver bedt om at bekræfte ved at skrive "y".

bekræft, at du har ændret udførelsespolitikken ved at skrive:

udførelsespolitik

Okay! Din computer er klar.

Trin 2: Skriv og fejlret en PowerShell -fil

Kopier og indsæt denne tekst i Notesblok:

$ 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: / Documents and Settings / 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)

Gem denne fil på skrivebordet som "SendPic.ps1".

Foretag de nødvendige ændringer af; dig, bruger -ID og adgangskode. Normalt er dit bruger -ID det samme som din komplette Gmail -adresse.

Hvis du ikke bruger Gmail, skal du rote rundt på Internettet for at finde porten, der er knyttet til din Smtp -server og ændre "587" til den relevante port, f.eks. smtp.mail.yahoo.com og porten er 465.

I stedet for at bruge Notesblok er PowerShell -editoren tilgængelig.

Nu til den store - højreklik på SendPic PowerShell -filen og vælg "Kør med PowerShell". Hvis det virker, vil du modtage og e -maile om et par sekunder. Hvis det ikke gør det, skal du begynde fejlfinding.

Debugging

Opret en ny PowerShell -fil på dit skrivebord ved navn test1, der sender en e -mail uden vedhæftet fil:

$ EmailTo = "[email protected]"

$ EmailFrom = "[email protected]" $ Subject = "test" $ Body = "x" $ SMTPServer = "smtp.gmail.com" $ SMTPMessage = New-Object 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", "adgangskode"); $ SMTPClient. Send ($ SMTPMessage)

Åbn filen med PowerShell -editoren ved at højreklikke på filen og vælge "Rediger". Ved at køre fra editoren kan vi læse de fejlmeddelelser, der blinker, når du dobbeltklikker på filen.

cd. / desktop

. / test1.ps1

Hvis dette mislykkes, skyldes det sandsynligvis et bibliotekproblem. Sørg for, at PowerShell peger på skrivebordskataloget. Kommandoprompten vil se sådan ud:

PS C: / Brugere / dig / Desktop>

Hvis det ikke gør det, skal du huske alle dine gamle DOS -kommandoer; cd, dir,. \, etc for at få PowerShell peget på skrivebordet. Prøv igen, hvis det ikke virker, skal du læse fejlmeddelelsen for at hjælpe med at opdage problemet

. / test1

Trin 3: Skriv og fejlsøg en batchfil

Åbn Notesblok og kopier følgende tekst:

PING localhost -n 180> NUL

powershell.exe. / SendPic.ps1 -lukning -s -t 100

PING -erklæringen er et rigtigt hack, der sender en kommunikationsanmodning hvert andet 180 gange. Forsinkelsen skal være lang nok til, at computeren kan starte op, etablere internetforbindelse og tage et webcam -foto. Nyere versioner af Windows understøtter TIMEOUT - meget renere.

Den næste erklæring udfører PowerShell -filen, der sender e -mailen med foto vedhæftet.

Den sidste erklæring får computeren til at slukke efter en forsinkelse på 100 sekunder. Denne tid er valgt som tilstrækkelig til at sende e -mailen.

Gem filen på dit skrivebord som SendPic.bat (ikke. TXT, som det vil ske, hvis du ikke tilføjer udvidelsen til filnavnet. Træk og slip filen i Windows STARTUP -mappen.

Dobbeltklik på ikonet for batchfil. Du skal modtage e -mailen. Whoa! For nemt. Ja, ja, meget kan gå galt.

Debugging

Problemet med fejlfinding af både denne.bat -fil og den tidligere.ps1 -fil er, at fejlene blinker alt for hurtigt til at blive læst. Du kan bremse det med:

PAUSE

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

PAUSE venter på, at du trykker på ENTER -tasten. Læs fejlmeddelelsen. Igen er det sandsynligvis et bibliotekproblem. Når du har løst problemet, skal du fjerne PAUSE -udsagnene, ellers hænger programmet.

Hvis du vil afslutte batchfilen, mens den udføres, skal du klikke i det åbne cmd -vindue og indtaste ^C (Ctrl C).

Trin 4: Indpakning

Pakker det ind
Pakker det ind

Gamle stationære computere, der kører Windows, er ikke kendt for deres pålidelighed. Hvad er det første, du gør, når din computer pakker op? Sluk for strømmen! Så det er det, vi skal gøre. Find en AC Timer Switch på Walmart eller Amazon. De billige er mekaniske (mindre end $ 10), de dyrere er elektroniske (mere end $ 20). Programmer kontakten til at tænde for eksempel kl. 8.00 og slukke 15 minutter senere. Slut din computer til timeren.

Når timerkontakten sender strøm til din computer, startes følgende hændelsesfølge:

  1. BIOS registrerer vekselstrøm, computeren starter op
  2. Windows starter (uden login -adgangskode)
  3. Webcam -programmet starter og tager et billede
  4. Batchfilkørsel starter

    1. Forsinkelse af færdiggørelse af opstartsproces, billedoptagelse og internetsignon
    2. Udfør PowerShell -fil for at sende e -mail med vedhæftet fil
    3. Forsinkelse af færdiggørelse af e -mail
    4. Luk computeren

Timerkontakten fjerner derefter strømmen fra computeren. Dette er nøglen til pålidelig uovervåget drift. Jeg har overlevet periodiske harddiskfejl, program -hangups og andre computerstoppere, men når systemet fejler, kommer det tilbage efter en strømcyklus.

Denne fremgangsmåde kan let tilpasses sikkerhedsovervågning, f.eks. Brug iSpy til at hente et kort videoklip, når der registreres bevægelse, og send en e -mail med en vedhæftet fil. Faktisk kan konceptet udvides til at sende en e -mail -advarsel efter påvisning af enhver begivenhed og med tilføjelse af en Arduino og de fysiske sensorer, der er tilgængelige i det univers - himlen er grænsen!

Anbefalede: