Si të dërgoni postë nga terminali duke përdorur një skenar

Për arsye X ose Y, nganjëherë duhet të programojmë serverin e kompanisë sonë për të bërë një detyrë të caktuar dhe duam të dimë nëse kjo detyrë u ekzekutua pa probleme, për këtë ne programojmë që nëse gjithçka shkon normalisht, na njoftoni… por ¿Si mund të na njoftojë serveri?

Shumë e thjeshtë, ne do t'ju tregojmë përmes një skenari Piton që ju të na dërgoni një email, në këtë mënyrë kur kontrollojmë kutinë postare, ne do të lexojmë nëse serveri nuk kishte probleme në vendosjen e porosisë.

Skenari i la këtu: dërgoni-postë.py

Për ta përdorur është shumë e thjeshtë, hapni një terminal, në të shkruani sa vijon dhe shtypni [Hyni]:

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

Unë ju lë si do të ishte procesi:

% KODI1%

Pasi të jetë bërë kjo, ju duhet të redaktoni skenarin për të vendosur të dhënat tuaja, unë do ta redaktoj duke vendosur të dhënat e mia, domethënë të dhënat nga këtu puna ime.

Hapni skenarin (send-email.py) dhe ndryshoni këtë informacion:

  • emaili juaj@desdelinux. Net me emailin tuaj (në këtë shembull - » kzkggaara@ipichcb.rimed.cu)
  • Trupi i mesazhit nga përmbajtja e postës elektronike (në këtë shembull - » Ky është një email testues)
  • ju.mailserver.cu nga serveri juaj i postës (në këtë shembull - » 192.168.1.2)
  • emaili juaj nga përdoruesi juaj (në këtë shembull - » kzkggaara)
  • Fjalëkalimi juaj për fjalëkalimin tuaj (në këtë shembull - » HAHA… po… sigurisht… LOL)

Duket si më poshtë: send-email.py (Ndryshuar)

Dhe voila, mbetet vetëm dërgimi i postës elektronike ... për këtë ne do të vendosim sa vijon:

  • python send-email.py "Këtu vendosim temën" recipient@domain.com

Kjo është, ne duhet të ekzekutojmë skenarin dhe të kalojmë parametrin "Subjekti" (domethënë subjekti që do të marrë emaili) dhe gjithashtu kujt (adresa e postës elektronike) do të dërgohet.

Unë do t'i dërgoj vetes një email, këtu është shembulli:

% KODI2%

Dhe tani

Siç mund ta shihni, diçka mjaft e thjeshtë ... por mund të na ndihmojë në raste të caktuara

të fala


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.

  1.   jondarlek dijo

    eshte shume mire .. por une dua dicka te tille qe punon per windows por nuk mund ta gjej

    1.    KZKG ^ Gaara dijo

      Për Windows ... mmm ... duhet të instaloni Python në Windows mik: http://www.python.org/getit/windows/

    2.    john dijo

      për dritaret ekziston një mjet i quajtur Cobian, është shumë i mirë dhe intuitiv

  2.   Carlos T. dijo

    si ta aktivizoni skenarin që të dërgohet me gmail (smtp)?

    1.    elwuilmer dijo

      Unë kam të njëjtën pyetje: /

      Unë mund të:

      s = SMTP ('smtp.gmail.com')
      s.starttls () # Nëse përdorni TLS
      s.ehlo ()

      Sidoqoftë më jep këtë gabim:

      python send-email.py "Këtu vendosim temën" aquimi@correo.com
      Gjurmimi (thirrja më e fundit e fundit):
      Dosja "send-email.py", rreshti 14, në
      s = SMTP ('smtp.gmail.com')
      Skedari "/usr/lib/python2.6/smtplib.py", rreshti 239, në __init__
      (kodi, msg) = self.connect (host, port)
      Skedari "/usr/lib/python2.6/smtplib.py", rreshti 295, në lidh
      self.sock = self._get_socket (host, port, self.timeout)
      Skedari "/usr/lib/python2.6/smtplib.py", rreshti 273, në _get_socket
      kthimi socket.create_connection ((porti, host), koha e ndërprerjes)
      Skedari "/usr/lib/python2.6/socket.py", rreshti 561, në krijimin_lidhje
      ngre gabimin, msg
      socket.error: [Errno 101] Rrjeti është i paarritshëm

  3.   reedyseth dijo

    Goodshtë mirë, dhe pastaj e programoni me cron dhe të gatshëm për të raportuar: D.

    1.    KZKG ^ Gaara dijo

      Po! hehe, kurseni shumë kohë automatizoni gjërat me skipte

  4.   luweeds dijo

    Faleminderit për postimin, më duket interesante dhe shtimi i funksionalitetit që citon Reedyseth ka një dobi më shumë. 😉 përshëndetje krahasime!

    1.    KZKG ^ Gaara dijo

      Faleminderit për komentin
      Pershendetje shoku.

  5.   Neo61 dijo

    Gaara, shoqja ime, jam i sigurt që ky artikull është shumë i mirë pasi të gjithë këtu dallohen, por unë - JO-PUE-DO-SEE-LOS-E-JEM-PLOS-POR-MI-MAL-DI-TA-CO- NEC- TION
    ÇFAR D BJ T TO SHIJ, TUT PRI GJYKAT?

    1.    KZKG ^ Gaara dijo

      Nuk mund ta hapni këtë lidhje? - » http://paste.desdelinux.net/89

  6.   Neo61 dijo

    Më lejoni t'ju pyes diçka, a mund të bëni një skenar në mënyrë që në një ditë të caktuar të dërgoj një mesazh specifik për të gjithë përdoruesit e qendrës time? E imagjinoj kështu, por ti je specialisti dhe nëse e konfirmon këtë, mund të më ndihmosh të bëj një të tillë?

    1.    KZKG ^ Gaara dijo

      Po, për të bërë "diçka" në një ditë të caktuar duhet të përdorni crontab.
      Pastaj, duke supozuar se doni të dërgoni një skedar .PDF (për shembull, note.pdf) te përdoruesit tuaj, për të dërguar vetëm në 1 email do të ishte:
      mail -s "Este es el asunto del correo" direccionemail@loquesea.cu < nota.pdf

      Tani, për ta dërguar atë, por jo vetëm në një adresë, por në shumë më tepër ... do të duhet të keni adresat në një skedar teksti (të ndara me një ndërprerje linje), dhe pastaj të përdorni një lak për. Për shembull, nëse i keni postat elektronike në adresat.txt, do të ishte:

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

  7.   Qiri Davidi dijo

    Faleminderit shok, skenari funksionon shkëlqyeshëm.

  8.   I sinqertë dijo

    Ku është skenari nëse mund të më ndihmoni

  9.   areli dijo

    Ju lutem mund të ndani shembujt ????