Hogyan küldjön levelet a terminálról egy szkript segítségével

X vagy Y okokból néha be kell programoznunk cégünk szerverét egy bizonyos feladat elvégzésére, és szeretnénk tudni, hogy ezt a feladatot problémamentesen hajtották-e végre, ehhez programozzuk, hogy ha minden zökkenőmentesen zajlott, értesítsen minket ... de… ¿ Hogyan értesíthet minket a szerver?

Nagyon egyszerű, egy szkript segítségével megmondjuk Piton e-mailt küldeni nekünk, ily módon, amikor ellenőrizzük a postafiókot, elolvassuk, ha a szervernek nem volt problémája a megrendelés leadásával.

A forgatókönyv itt hagyta őket: send-email.py

A használata nagyon egyszerű, nyissa meg a terminált, írja be a következőket, és nyomja meg a gombot [Belép]:

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

Meghagyom, hogy milyen lenne a folyamat:

% CODE1%

Miután ez megtörtént, szerkesztenie kell a szkriptet, hogy saját adatait tegye, én úgy fogom szerkeszteni, hogy felteszem az adataimat, vagyis az innen származó adatokat.

Nyissa meg a szkriptet (send-email.py), és módosítsa ezeket az adatokat:

  • az email címed@desdelinux. Net e-mailben (ebben a példában - » kzkggaara@ipichcb.rimed.cu)
  • Üzenet törzse az e-mail tartalma alapján (ebben a példában - » Ez egy teszt e-mail)
  • te.mailserver.cu a mail szerver által (ebben a példában - » 192.168.1.2)
  • az email címed a felhasználó által (ebben a példában - » kzkggaara)
  • a jelszavad jelszavához (ebben a példában - » HAHA ... igen ... biztos ... LOL)

A következőképpen néz ki: send-email.py (Módosítva)

És voila, csak az e-mail elküldése marad ... ehhez a következőket tesszük:

  • python send-email.py "Ide tesszük a tárgyat" címzett@domain.com

Más szavakkal, végre kell hajtanunk a szkriptet, és át kell adnunk neki az "Subject" paramétert (vagyis azt a tárgyat, amelyet az e-mail fog venni), és azt is, hogy kinek (e-mail cím) küldjük el.

Küldök magamnak egy e-mailt, íme a példa:

% CODE2%

És most 😀

Mint láthatja, valami egészen egyszerű ... de ez bizonyos esetekben segítségünkre lehet 😉

Üdvözlet


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.

  1.   jondarlek dijo

    nagyon jó .. de én valami ilyesmit szeretnék, ami Windows esetén is működik, de nem találom 🙁

    1.    KZKG ^ Gaara dijo

      Windows esetén ... mmm ... telepítenie kell a Python programot a Windows barátra: http://www.python.org/getit/windows/

    2.    János dijo

      a Windows számára van egy Cobian nevű eszköz, nagyon jó és intuitív

  2.   Carlos T. dijo

    hogyan lehet engedélyezni a szkript küldését a gmail (smtp) segítségével?

    1.    elwuilmer dijo

      Ugyanez a kérdésem: /

      Tudnék:

      s = SMTP ('smtp.gmail.com')
      s.starttls () # Ha TLS-t használ
      s.ehlo ()

      Azonban ezt a hibát adja nekem:

      python send-email.py "Itt tesszük a témát" aquimi@correo.com
      Traceback (a legutóbbi hívás utoljára):
      A "send-email.py" fájl 14. sora
      s = SMTP ('smtp.gmail.com')
      "/Usr/lib/python2.6/smtplib.py" fájl, 239. sor, __init__
      (kód, msg) = self.connect (gazdagép, port)
      A "/usr/lib/python2.6/smtplib.py" fájl 295. sora csatlakozik
      self.sock = self._get_socket (host, port, self.timeout)
      "/Usr/lib/python2.6/smtplib.py" fájl, 273. sor, _get_socket
      return socket.create_connection ((port, gazdagép), timeout)
      "/Usr/lib/python2.6/socket.py" fájl, 561. sor, a create_connection fájlban
      hiba emelése, msg
      socket.error: [Errno 101] A hálózat elérhetetlen

  3.   reedyseth dijo

    Jó, és utána programozod cronnal, és készen állsz a jelentésre: D.

    1.    KZKG ^ Gaara dijo

      Igen! hehe, sok időt takarít meg, automatizálja a dolgokat a szkriptekkel 🙂

  4.   luweeds dijo

    Köszönöm a bejegyzést, érdekesnek találom, és hozzáadom a Reedyseth által idézett funkcionalitást, amelynek még egy segédprogramja van. 😉 üdvözlet kompák!

    1.    KZKG ^ Gaara dijo

      Köszönöm a megjegyzést 😀
      Üdvözlet barátom.

  5.   Neo61 dijo

    Gaara, barátom, biztos vagyok benne, hogy ez a cikk nagyon jó, ahogy itt mindenki kiemeli, de én - NEM-PUE-DO-SE-LOS-E-JEM-PLOS-POR-MI-MAL-DI-TA-CO-NEC - TION
    Mit tegyek, ha látom őket, elvágom a torkomat?

    1.    KZKG ^ Gaara dijo

      Nem lehet megnyitni ezt a linket? - » http://paste.desdelinux.net/89

  6.   Neo61 dijo

    Hadd kérdezzek valamit, készíthetnék egy szkriptet, hogy egy adott napon konkrét üzenetet küldhessek a központom minden felhasználójának? Azt hiszem, de te vagy a szakember, és ha ezt megerősíted, tudnál segíteni nekem egy ilyen elkészítésében?

    1.    KZKG ^ Gaara dijo

      Igen, ahhoz, hogy "valamit" tegyen egy adott napon, használnia kell crontab.
      Ezután, feltételezve, hogy egy .PDF fájlt (például note.pdf) szeretne elküldeni a felhasználóknak, csak 1 e-mailre lehet elküldeni:
      mail -s "Este es el asunto del correo" direccionemail@loquesea.cu < nota.pdf

      Ennek elküldéséhez, de nem csak egy címre, hanem még sok másra is ... meg kell adnia a címeket egy szövegfájlban (sortöréssel elválasztva), majd hurokot kell használnia mert. Például, ha az e-mail címek a address.txt fájlban vannak, a következők lennének:

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

  7.   David gyertya dijo

    Kösz haver, a forgatókönyv remekül működik.

  8.   Őszinte dijo

    Hol van a forgatókönyv, ha tudsz nekem segíteni

  9.   areli dijo

    Ossza meg szívesen a példákat ????