Cum să trimiteți mesaje de la terminal folosind un script

Din motive X sau Y, uneori trebuie să programăm serverul companiei noastre pentru a face o anumită sarcină și vrem să știm dacă această sarcină a fost executată fără probleme, pentru aceasta programăm că dacă totul a decurs fără probleme, anunțați-ne ... dar ... serverul ne poate notifica?

Foarte simplu, vă vom spune printr-un scenariu Piton pentru a ne trimite un e-mail, în acest mod atunci când verificăm căsuța poștală, vom citi dacă serverul nu a avut probleme la plasarea comenzii.

Scenariul i-a lăsat aici: send-email.py

Pentru ao utiliza este foarte simplu, deschideți un terminal, în acesta scrieți următoarele și apăsați [Introduce]:

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

Vă las cum va fi procesul:

% COD 1%

Odată ce ați făcut acest lucru, trebuie să editați scriptul pentru a vă pune propriile date, eu îl voi edita punând datele mele, adică datele de aici munca mea.

Deschideți scriptul (send-email.py) și modificați aceste date:

  • email-ul tau@desdelinux. Net prin e-mailul dvs. (în acest exemplu - » kzkggaara@ipichcb.rimed.cu)
  • Conținutul mesajului după conținutul e-mailului (în acest exemplu - » Acesta este un e-mail de testare)
  • you.mailserver.cu de către serverul dvs. de e-mail (în acest exemplu - » 192.168.1.2)
  • email-ul tau de către utilizatorul dvs. (în acest exemplu - » kzkggaara)
  • parola ta pentru parola dvs. (în acest exemplu - » HAHA ... da ... sigur ... LOL)

Arată după cum urmează: send-email.py (Modificat)

Și voila, rămâne doar să trimiteți e-mailul ... pentru aceasta vom pune următoarele:

  • python send-email.py "Aici punem subiectul" recipient@domain.com

Cu alte cuvinte, trebuie să executăm scriptul și să-i transmitem parametrul „Subiect” (adică subiectul pe care îl va primi e-mailul) și, de asemenea, cui (adresa de e-mail) acesta va fi trimis.

Îmi voi trimite un e-mail, iată exemplul:

% COD 2%

Și acum 😀

După cum puteți vedea, ceva destul de simplu ... dar ne poate ajuta în anumite ocazii 😉

În ceea ce priveşte


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   jondarlek el a spus

    este foarte bine .. dar vreau așa ceva care să funcționeze pentru Windows, dar nu îl găsesc 🙁

    1.    KZKG ^ Gaara el a spus

      Pentru Windows ... mmm ... trebuie să instalați Python pe Windows friend: http://www.python.org/getit/windows/

    2.    Ioan el a spus

      pentru Windows există un instrument numit Cobian, este foarte bun și intuitiv

  2.   Carlos T. el a spus

    cum se activează scriptul pentru a trimite cu gmail (smtp)?

    1.    elwuilmer el a spus

      Am aceeași întrebare: /

      Aș putea:

      s = SMTP („smtp.gmail.com”)
      s.starttls () # Dacă utilizați TLS
      s.ehlo ()

      Cu toate acestea, îmi dă această eroare:

      python send-email.py "Aici punem subiectul" aquimi@correo.com
      Traceback (ultimul apel cel mai recent):
      Fișierul „send-email.py”, linia 14, în
      s = SMTP („smtp.gmail.com”)
      Fișierul „/usr/lib/python2.6/smtplib.py”, linia 239, în __init__
      (cod, mesaj) = self.connect (gazdă, port)
      Fișierul „/usr/lib/python2.6/smtplib.py”, linia 295, în conectare
      self.sock = self._get_socket (gazdă, port, self.timeout)
      Fișierul „/usr/lib/python2.6/smtplib.py”, linia 273, în _get_socket
      returnează socket.create_connection ((port, gazdă), timeout)
      Fișierul „/usr/lib/python2.6/socket.py”, linia 561, în create_connection
      ridica eroare, msg
      socket.error: [Errno 101] Rețeaua nu poate fi accesată

  3.   reedyseth el a spus

    Este bine și apoi îl programezi cu cron și gata să raportezi: D.

    1.    KZKG ^ Gaara el a spus

      Da! hehe, economisește mult timp automatizează lucrurile cu resturi 🙂

  4.   luweeds el a spus

    Mulțumesc pentru postare, mi se pare interesant și adăugarea funcționalității pe care Reedyseth o citează are încă o utilitate. 😉 salutări compas!

    1.    KZKG ^ Gaara el a spus

      Vă mulțumesc pentru comentariu 😀
      Salutări prietene.

  5.   Neo61 el a spus

    Gaara, prietene, sunt sigur că acest articol este foarte bun așa cum subliniază toată lumea, dar eu - NO-PUE-DO-SE-LOS-E-JEM-PLOS-POR-MI-MAL-DI-TA-CO-NEC - TION
    CE FAC SĂ LE VĂD, SĂ TĂI GÂTLA?

    1.    KZKG ^ Gaara el a spus

      Nu puteți deschide acest link? - » http://paste.desdelinux.net/89

  6.   Neo61 el a spus

    Lasă-mă să te întreb ceva, aș putea să fac un script pentru ca într-o anumită zi să pot trimite un mesaj specific tuturor utilizatorilor centrului meu? Cred că da, dar tu ești specialistul și, dacă confirmi acest lucru, m-ai putea ajuta să fac unul?

    1.    KZKG ^ Gaara el a spus

      Da, pentru a face „ceva” într-o anumită zi, trebuie să folosiți crontab.
      Apoi, presupunând că doriți să trimiteți un fișier .PDF (de exemplu, note.pdf) către utilizatorii dvs., pentru a trimite la un singur e-mail ar fi:
      mail -s "Este es el asunto del correo" direccionemail@loquesea.cu < nota.pdf

      Acum, pentru a trimite asta, dar nu numai la o singură adresă, ci la multe altele ... ar trebui să aveți adresele într-un fișier text (separat printr-o întrerupere de linie) și apoi să utilizați o buclă pentru. De exemplu, dacă aveți e-mailurile în adresele.txt, ar fi:

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

  7.   Lumânare David el a spus

    Mulțumesc prietene, scenariul funcționează excelent.

  8.   Sincer el a spus

    Unde este scenariul dacă mă puteți ajuta

  9.   areli el a spus

    Vă puteți împărtăși exemplele ????