Hoe u e-pos vanaf die terminale kan stuur met 'n script

Om X- of Y-redes moet ons soms die bediener van ons onderneming programmeer om 'n sekere taak uit te voer, en ons wil weet of hierdie taak sonder probleme uitgevoer is. Hiervoor programmeer ons dat ons, as alles goed verloop, ons in kennis stel ... maar ... ¿ Hoe kan die bediener ons in kennis stel?

Baie eenvoudig, ons sal u dit deur middel van 'n script vertel Python Stuur vir ons 'n e-pos op hierdie manier wanneer ons die posbus nagaan, sal ons lees of die bediener geen probleme gehad het om die bestelling te plaas nie.

Die skrif het hulle hier gelaat: stuur-email.py

Om dit te gebruik is baie eenvoudig, maak 'n terminaal oop, skryf die volgende in en druk [Tik]:

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

Ek laat jou hoe die proses sou wees:

% KODE1%

 

Sodra dit gedoen is, moet u die script wysig om u eie data op te stel. Ek sal dit wysig deur my data, dit wil sê die data van hier, my werk te plaas.

Open die script (send-email.py) en verander hierdie data:

  • your-email@desdelinux.net per e-pos (in hierdie voorbeeld - » kzkggaara@ipichcb.rimed.cu)
  • Boodskapliggaam deur die inhoud van die e-pos (in hierdie voorbeeld - » Dit is 'n toets-e-posadres)
  • you.mailserver.cu deur u e-posbediener (in hierdie voorbeeld - » 192.168.1.2)
  • jou epos deur u gebruiker (in hierdie voorbeeld - » kzkggaara)
  • jou wagwoord vir u wagwoord (in hierdie voorbeeld - » HAHA ... ja ... seker ... LOL)

Dit lyk soos volg: send-email.py (gewysig)

En voila, al wat oorbly is om die e-pos te stuur ... hiervoor sal ons die volgende stel:

  • python send-email.py "Hier sit ons die onderwerp" recipient@domain.com

Dit wil sê, ons moet die script uitvoer en die parameter "Onderwerp" (dit wil sê die onderwerp wat die e-pos sal neem) deurgee en ook aan wie (e-posadres) dit gestuur sal word.

Ek sal vir my 'n e-pos stuur, hier is die voorbeeld:

% KODE2%

 

En nou 😀

Soos u kan sien, is iets heel eenvoudig ... maar dit kan ons by sekere geleenthede help 😉

Groete


Die inhoud van die artikel voldoen aan ons beginsels van redaksionele etiek. Klik op om 'n fout te rapporteer hier.

16 kommentaar, los joune

Laat u kommentaar

Jou e-posadres sal nie gepubliseer word nie. Verpligte velde gemerk met *

*

*

  1. Verantwoordelik vir die data: Miguel Ángel Gatón
  2. Doel van die data: Beheer SPAM, bestuur van kommentaar.
  3. Wettiging: U toestemming
  4. Kommunikasie van die data: Die data sal nie aan derde partye oorgedra word nie, behalwe deur wettige verpligtinge.
  5. Datastoor: databasis aangebied deur Occentus Networks (EU)
  6. Regte: U kan u inligting te alle tye beperk, herstel en verwyder.

  1.   jondarlek dijo

    dit is baie goed .. maar ek wil so iets hê wat vir windows werk, maar ek kan dit nie vind nie 🙁

    1.    KZKG ^ Gaara dijo

      Vir Windows ... mmm ... moet u Python op Windows-vriend installeer: http://www.python.org/getit/windows/

    2.    John dijo

      vir vensters is daar 'n instrument genaamd Cobian, dit is baie goed en intuïtief

  2.   Carlos T. dijo

    hoe kan u die script in staat stel om met gmail (smtp) te stuur?

    1.    elwuilmer dijo

      Ek het dieselfde vraag: /

      Ek kan:

      s = SMTP ('smtp.gmail.com')
      s.starttls () # As u TLS gebruik
      s.ehlo ()

      Dit gee my egter die volgende fout:

      python send-email.py "Hier sit ons die onderwerp" aquimi@correo.com
      Terugspoor (laaste oproep laas):
      Lêer "send-email.py", reël 14, in
      s = SMTP ('smtp.gmail.com')
      Lêer "/usr/lib/python2.6/smtplib.py", reël 239, in __init__
      (code, msg) = self.connect (gasheer, poort)
      Lêer "/usr/lib/python2.6/smtplib.py", reël 295, in verbinding
      self.sock = self._get_socket (gasheer, poort, self.timeout)
      Lêer "/usr/lib/python2.6/smtplib.py", reël 273, in _get_socket
      return socket.create_connection ((poort, gasheer), time-out)
      Lêer "/usr/lib/python2.6/socket.py", reël 561, in create_connection
      verhoog fout, msg
      socket.error: [Errno 101] Die netwerk is onbereikbaar

  3.   reedyseth dijo

    Dit is goed, en dan programmeer u dit met cron en gereed om te rapporteer: D.

    1.    KZKG ^ Gaara dijo

      Ja! hehe, bespaar baie tyd, outomatiseer dinge met skripte 🙂

  4.   luweeds dijo

    Dankie vir die boodskap, ek vind dit interessant en die funksie wat Reedyseth noem noem nog 'n nut. 😉 groete kompas!

    1.    KZKG ^ Gaara dijo

      Dankie aan u vir die opmerking 😀
      Groete vriend.

  5.   Neo61 dijo

    Gaara, my vriend, ek is seker hierdie artikel is baie goed soos almal hier uitlig, maar ek - NO-PUE-DO-SE-LOS-E-JEM-PLOS-POR-MI-MAL-DI-TA-CO-NEC- TION
    WAT DOEN EK OM HULLE TE SIEN, MY KEEL TE SNY?

    1.    KZKG ^ Gaara dijo

      Kan u nie hierdie skakel oopmaak nie? - » http://paste.desdelinux.net/89

  6.   Neo61 dijo

    Laat ek u iets vra, kan ek 'n script maak sodat ek op 'n sekere dag 'n spesifieke boodskap aan al die gebruikers van my sentrum kan stuur? Ek dink wel, maar u is die spesialis. As u dit bevestig, kan u my help om een ​​te maak?

    1.    KZKG ^ Gaara dijo

      Ja, om 'iets' op 'n bepaalde dag te doen, moet u gebruik crontab.
      As u aanvaar dat u 'n .PDF-lêer (byvoorbeeld note.pdf) aan u gebruikers wil stuur, is dit slegs 1 e-posadres:
      mail -s "Este es el asunto del correo" direccionemail@loquesea.cu < nota.pdf

      Om dit te stuur, maar nie net na een adres nie, maar na baie meer ... moet u die adresse in 'n tekslêer hê (geskei deur 'n reëlbreuk), en gebruik dan 'n lus vir. As u byvoorbeeld die e-posse in adresse.txt het, is dit:

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

  7.   David kers dijo

    Dankie maat, die script werk uitstekend.

  8.   Frank dijo

    Waar is die teks as u my kan help

  9.   Areëli dijo

    Kan u asseblief die voorbeelde deel ????