Erityisesti katamme tämän Ubuntun ja Windows 8.1: n kanssa, ja Gmailia käytetään sähköpostipalvelimena, josta postia lähetetään. Jos sinulla on toinen versio Linuxista tai Windowsista tai haluat käyttää jotain muuta sähköpostipalvelua, ohjeet pitäisi helposti mukauttaa.
Automaattiset sähköpostit Linuxissa
Käytämme kahta eri pakettia tämän, ssmtp: n ja postitilojen toteuttamiseen. Asenna molemmat seuraavalla komennolla:
$ sudo apt-get install ssmtp mailutils
Kun ne on asennettu, meidän on tehtävä joitain muutoksia SSMTP-määritystiedostoon:
$ sudo vi /etc/ssmtp/ssmtp.conf
Muokkaa tiedostoa näillä muutoksilla (voit vain poistaa kaikki tiedoston tekstin ja kopioida tai liittää nämä asetukset, jos haluat):
# This address will receive the emails, so enter your own email here if you want to receive them.
# Specify the email server here (leave as is if you’re using Gmail).
mailhub=smtp.gmail.com:587
# The domain name that the mail will come from.
rewriteDomain=gmail.com
# The email address that these emails should be from.
# SSL/TLS settings, required for Gmail and most other mail servers.
UseTLS=Yes
UseSTARTTLS=Yes
# The username and password to your Gmail account.
AuthUser=username
AuthPass=password
# Allow the ability to specify a from address different than the one above.
FromLineOverride=yes
Kun olet valmis muokkaamaan tiedostoa, sinun on muutettava käyttöoikeudet, koska Gmail-salasanasi on tallennettu tekstimuodossa.
$ sudo chmod 640 /etc/ssmtp/ssmtp.conf
$ sudo chown username.username /etc/ssmtp/ssmtp.conf
Se on aina turvallisempaa juurtua tiedoston omistajalle, mutta meidän pitäisi käyttää sudo-komentoa käsikirjassamme ja se herättäisi meille salasanan, mikä voitti tämän koko prosessin automatisoinnin.
Jos käytät jaettua palvelinta ja olet huolissasi siitä, että salasanasi on kirjoitettu tekstimuodossa ja luettavissa, voit luoda Gmail-tilin tai käyttää sähköpostipalvelinta, joka ei vaadi minkäänlaista todentamista.
Varmista, että kaikki on määritetty oikein, kokeile testiesähköpostia:
$ echo 'Testing' | mail -s 'Testing mail setup' [email protected]
"Testaus" tulee olemaan sähköpostin ruudussa ja aiheena on "Sähköpostin määrittäminen". Tarkista sähköpostisi ja varmista, että olet saanut sen.
Sähköpostien komentosarjan kirjoittaminen
Nyt kun pystymme lähettämään sähköpostiviestejä komentoriviltä, kirjoitamme komentosarjan, joka lähettää meille joitain perustietoja järjestelmästämme.
#!/bin/bash
# Check hard drive space
echo 'Hard drive space:' > /home/geek/email.txt
df -h >> /home/geek/email.txt
# List the users that are logged in
echo 'Users currently logged in:' >> /home/geek/email.txt
who >> /home/geek/email.txt
# List currently running processes
echo 'Running processes:' >> /home/geek/email.txt
ps -e >> /home/geek/email.txt
# Send the email
cat /home/geek/email.txt | mail -s 'Daily server information' [email protected]
# Delete the file we created
rm /home/geek/email.txt
Tietenkin voit saada paljon enemmän syvällistä käsikirjoitustasi ja jopa tehdä muotoilusta hieman mukavampaa, mutta tämä on mitä tuotos näyttää sähköpostissamme:
$ crontab -e
2:00 sähköpostiisi lisää:
0 2 * * * /home/geek/script.sh
Olemme kirjoittaneet koko artikkelin crontab-tiedostoista, jos tarvitset lisäapua tämän osan kanssa.
Automaattiset sähköpostit Windowsissa
Sähköpostiviestien lähettäminen komentorivillä on mahdollista PowerShellin kautta, mutta olemme havainneet, että tämän toiminnon toteuttaminen on paljon helpompaa kolmannen osapuolen sovellusten kanssa, varsinkin kun käytät Gmailia. SendEmail on ilmainen Windows-käyttöjärjestelmä, joka tekee integroinnista Windows Task Scheduler -ohjelmaan ja Gmailiin. Napsauta yllä olevaa linkkiä ladataksesi uusimman kopion ja varmista, että tartut TLS-tukeen.
Kun olet ladannut SendEmailin, poista zip-tiedosto ja aseta sisältö johonkin, jotta voit tallentaa ne niin kauan kuin aiot lähettää automaattisia sähköpostiviestejä. Tässä esimerkissä aiomme vain tallentaa ohjelman C: SendEmailiin
Testataan SendEmail, jotta saat nopeasti tuntumaan siitä, miten se toimii. Avaa komentokehote kirjoittamalla cmd Käynnistä tai Suorita (Ctrl + R) -valikkoon.
cd C:SendEmail
Nyt voimme lähettää testisähköpostin lähettämällä seuraavan komennon:
sendEmail -f [email protected] -t [email protected] -s smtp.gmail.com:587 -xu username -xp password -u 'Test email subject' -m 'This is a test email.'
Vaihda "käyttäjätunnuksesi" ja "salasana" tilisi käyttöoikeustiedostoilla ennen komennon suorittamista.
Tässä on yllä mainittu komento:
sendEmail
suorittaa ohjelman.
-f
- osoitteesta
-t
- osoitteeseen
-s
- SMTP-palvelin
-xu
- tilin käyttäjätunnus
-xp
- tilin salasana
-u
- sähköpostin aihe
-m
- sähköpostikuvan teksti
Tarkista postilaatikon, että saat testisähköpostin ja siirrymme kirjoittamaan komentosarja, joka lähettää meille palvelintietoja.
Sähköpostien komentosarjan kirjoittaminen
Jotta voimme hyödyntää parhaiten käsikirjoitamme, kirjoitamme sen PowerShellille. Avaa Windows PowerShell ISE kirjoittamalla powershell_ise.exe Run-kehotteeseen (Ctrl + R).
# Check hard drive space
echo 'C: Drive Usage:' > C:SendEmailinfo.txt
Get-WmiObject win32_LogicalDisk -Filter 'DeviceID='C:'' | Select-Object Size,FreeSpace >> C:SendEmailinfo.txt
# List currently running processes
echo 'Running processes:' >> C:SendEmailinfo.txt
get-process >> C:SendEmailinfo.txt
# List the files/folders currently being shared
echo 'SMB shares:' >> C:SendEmailinfo.txt
get-smbshare >> C:SendEmailinfo.txt
# Send the email
type C:SendEmailinfo.txt | C:SendEmailsendEmail -f [email protected] -t [email protected] -s smtp.gmail.com:587 -xu username -xp password -u 'Daily server info'
# Delete the file we made
rm C:SendEmailinfo.txt
Tässä kirjoitusohjelmassa kerätään erilaisia tietoja C: SendEmail info.txt: lle ja sitten kyseisessä asiakirjassa oleva teksti lähetetään meille sähköpostitse, ennen kuin se poistetaan. Tallenna skripti ps1-tiedostopääteellä (PowerShell-tiedosto).
Kun käsikirjoitus on valmis, suorita nopea testi Run-kehotteesta varmistaaksesi, että se toimii oikein.
Käytä vain
powershell
komento a
-file
argumentti ja määritä polku komentosarjalle.
powershell -file 'c:SendEmaildaily-email.ps1'
Kun olet selvittänyt komentojasi kynsit, voit automatisoida Windows Task Scheduler -ohjelman. Avaa Windows Task Scheduler Käynnistä-valikosta.
Nyt sinun pitäisi olla ohjatun toiminnon "Toimi" -osassa, valitse "Käynnistä ohjelma" ja kirjoita sama teksti, jonka kirjoitimme komentojonon testin aikaisempiin Run-kehotteeseen.