Kaip siųsti laišką iš terminalo naudojant scenarijų

Dėl X ar Y priežasčių kartais turime užprogramuoti savo įmonės serverį tam tikrai užduočiai atlikti ir norime sužinoti, ar ši užduotis buvo atlikta be problemų, todėl mes programuojame, kad jei viskas vyko sklandžiai, praneškite mums ... bet… ¿Kaip ar serveris gali mums pranešti?

Labai paprasta, mes jums pasakysime per scenarijų Pitonas Atsiųskite mums el. Laišką, tokiu būdu patikrinę pašto dėžutę perskaitysime, ar serveris neturėjo problemų pateikdamas užsakymą.

Scenarijus paliko juos čia: send-email.py

Jei norite juo naudotis, labai paprasta, atidarykite terminalą, jame parašykite šį tekstą ir paspauskite [Įveskite]:

cd $HOME/ && wget http://paste.desdelinux.net/paste/?dl=89 && mv index.html\?dl\=89 send-email.py && chmod +s send-email.py

Aš palieku jums, kaip vyks procesas:

% CODE1%

Kai tai bus padaryta, turite redaguoti scenarijų, kad galėtumėte pateikti savo duomenis. Aš juos redaguosiu, įdėdamas savo duomenis, tai yra duomenis iš čia, mano darbą.

Atidarykite scenarijų (send-email.py) ir pakeiskite šiuos duomenis:

  • tavo elektroninis paštas@desdelinux. Grynasis el. paštu (šiame pavyzdyje - » kzkggaara@ipichcb.rimed.cu)
  • Pranešimo turinys pagal el. pašto turinį (šiame pavyzdyje - » Tai yra bandomasis el. Laiškas)
  • you.mailserver.cu pašto serveris (šiame pavyzdyje - » 192.168.1.2)
  • tavo elektroninis paštas jūsų vartotojas (šiame pavyzdyje - » kzkggaara)
  • Jūsų slaptažodis slaptažodžiui (šiame pavyzdyje - » HAHA ... taip ... tikrai ... LOL)

Tai atrodo taip: send-email.py (Pakeista)

O voila, belieka tik išsiųsti el. Laišką ... tam mes pateiksime:

  • python send-email.py "Čia mes įdėjome temą" gavėjas@domenas.com

Kitaip tariant, mes turime įvykdyti scenarijų ir perduoti jam parametrą „Tema“ (tai yra tema, kurią užims el. Laiškas) ir kam (el. Pašto adresas) jis bus išsiųstas.

Aš atsiųsiu sau el. Laišką, čia yra pavyzdys:

% CODE2%

Ir dabar 😀

Kaip matote, kažkas gana paprasto ... bet tai gali mums padėti tam tikromis progomis 😉

saludos


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   Jondarlek sakė

    tai labai gerai .. bet aš noriu kažko panašaus, kas tiktų „Windows“, bet nerandu 🙁

    1.    KZKG ^ Gaara sakė

      „Windows“ ... mmm ... turite įdiegti „Python“ „Windows“ drauge: http://www.python.org/getit/windows/

    2.    John sakė

      „Windows“ yra įrankis, vadinamas „Cobian“, jis yra labai geras ir intuityvus

  2.   Carlosas T. sakė

    kaip įgalinti scenarijų siųsti su gmail (smtp)?

    1.    elwuilmeris sakė

      Man tas pats klausimas: /

      As galeciau:

      s = SMTP („smtp.gmail.com“)
      s.starttls () # Jei naudojate TLS
      s.ehlo ()

      Tačiau man suteikiama ši klaida:

      python send-email.py "Čia mes įdėjome temą" aquimi@correo.com
      „Traceback“ (paskutinis paskutinis skambutis):
      Failas „send-email.py“, 14 eilutė, įvestas
      s = SMTP („smtp.gmail.com“)
      Failas „/usr/lib/python2.6/smtplib.py“, 239 eilutė, __init__
      (kodas, msg) = self.connect (pagrindinis kompiuteris, prievadas)
      Failas „/usr/lib/python2.6/smtplib.py“, 295 eilutė, prijungtas
      self.sock = self._get_socket (pagrindinis kompiuteris, prievadas, savarankiškas laikas neveikia)
      Failas „/usr/lib/python2.6/smtplib.py“, 273 eilutė, _get_socket
      return socket.create_connection ((prievadas, pagrindinis kompiuteris), skirtasis laikas)
      Failas „/usr/lib/python2.6/socket.py“, 561 eilutė, „create_connection“
      pakelti klaidą, pranešimas
      socket.error: [Errno 101] Tinklas nepasiekiamas

  3.   Reedysethas sakė

    Tai gerai, tada jūs jį užprogramuojate su cron ir pasirengę pranešti: D.

    1.    KZKG ^ Gaara sakė

      Taip! hehe, sutaupyk daug laiko, automatizuok dalykus naudodamas scenarijus 🙂

  4.   luweeds sakė

    Dėkoju už įrašą, manau, kad jis įdomus ir prideda funkcionalumą, kurį cituoja Reedysethas, dar vieną naudingumą. 😉 sveikinimai kompasai!

    1.    KZKG ^ Gaara sakė

      Ačiū jums už komentarą 😀
      Sveikinimai drauge.

  5.   Neo61 sakė

    Gaara, mano drauge, aš tikiu, kad šis straipsnis yra labai geras, nes visi čia pabrėžia, bet aš - NE-PUE-DO-SE-LOS-E-JEM-PLOS-POR-MI-MAL-DI-TA-CO-NEC - TION
    KĄ DARYTI, KAD JIEMS PAMATYčiau, PERKIRPTU GERKL??

    1.    KZKG ^ Gaara sakė

      Negalite atidaryti šios nuorodos? - » http://paste.desdelinux.net/89

  6.   Neo61 sakė

    Leiskite man ko nors paklausti, ar galėčiau sukurti scenarijų, kad tam tikrą dieną galėčiau išsiųsti konkretų pranešimą visiems savo centro vartotojams? Aš taip įsivaizduoju, bet jūs esate specialistas ir, jei tai patvirtinsite, ar galėtumėte man padėti?

    1.    KZKG ^ Gaara sakė

      Taip, norėdami „ką nors“ padaryti tam tikrą dieną, turite naudoti crontab.
      Tada, darant prielaidą, kad norite išsiųsti .PDF failą (pavyzdžiui, note.pdf) savo vartotojams, siųsti tik į vieną el. Laišką būtų:
      mail -s "Este es el asunto del correo" direccionemail@loquesea.cu < nota.pdf

      Dabar, norėdami išsiųsti tą, bet ne tik į vieną adresą, bet ir į daugelį kitų ... adresus turėsite turėti tekstiniame faile (atskirtu eilutės pertrauka) ir tada naudoti kilpą forumas. Pvz., Jei el. Laiškus turite adresu.txt, tai būtų:

      for i in `cat direcciones.txt`;
      do
      mail -s "Este es el asunto del correo" $i < nota.pdf
      done

  7.   Dovydo žvakė sakė

    Ačiū bičiuli, scenarijus veikia puikiai.

  8.   Frankas sakė

    Kur scenarijus, jei galite man padėti

  9.   areli sakė

    Gal galite pasidalinti pavyzdžiais ????