Kako poslati poštu s terminala pomoću skripte

Iz X ili Y razloga ponekad moramo programirati server naše kompanije da izvrši određeni zadatak i želimo znati je li taj zadatak izvršen bez problema, zato programiramo da nas obavijesti ako sve prođe bez problema, ali ... ¿Kako nas server može obavijestiti?

Vrlo jednostavno, ispričat ćemo vam kroz skriptu piton da nam pošaljete e-poštu, na taj ćemo način kada provjerimo poštanski sandučić pročitati ako poslužitelj nije imao problema s narudžbom.

Skripta ih je ovdje ostavila: send-email.py

Korištenje je vrlo jednostavno, otvorite terminal, u njega napišite sljedeće i pritisnite [unesite]:

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

Ostavljam vam kako bi bio proces:

% CODE1%

Jednom kada se to učini, morate urediti skriptu kako biste stavili svoje podatke, a ja ću je urediti stavljanjem svojih podataka, odnosno podataka odavde mog rada.

Otvorite skriptu (send-email.py) i promijenite ove podatke:

  • tu-email@desdelinux.net putem vaše e-pošte (u ovom primjeru - » kzkggaara@ipichcb.rimed.cu)
  • Tijelo poruke prema sadržaju e-pošte (u ovom primjeru - » Ovo je testni email)
  • you.mailserver.cu putem vašeg servera za poštu (u ovom primjeru - » 192.168.1.2)
  • vaš email od strane vašeg korisnika (u ovom primjeru - » kzkggaara)
  • svoju lozinku za vašu lozinku (u ovom primjeru - » HAHA ... da ... sigurno ... LOL)

Izgleda ovako: send-email.py (Izmijenjeno)

I voila, ostaje samo poslati e-mail ... za ovo ćemo staviti sljedeće:

  • python send-email.py "Ovdje stavljamo temu" primatelj@domena.com

Odnosno, moramo izvršiti skriptu i proslijediti parametar "Predmet" (tj. Predmet koji će e-pošta zauzeti) i također kome (adresa e-pošte).

Poslat ću si e-mail, evo primjera:

% CODE2%

A sada 😀

Kao što vidite, nešto sasvim jednostavno ... ali može nam pomoći u određenim prilikama 😉

Saludos


16 komentara, ostavi svoj

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   jondarlek rekao je

    vrlo je dobro .. ali želim nešto poput ovoga što radi za Windows, ali ga ne mogu pronaći 🙁

    1.    KZKG ^ Gaara rekao je

      Za Windows ... mmm ... morate instalirati Python na Windows prijatelja: http://www.python.org/getit/windows/

    2.    Jovan rekao je

      za Windows postoji alat zvan Cobian, vrlo je dobar i intuitivan

  2.   Carlos T. rekao je

    kako omogućiti skriptu za slanje putem gmaila (smtp)?

    1.    elwuilmer rekao je

      Imam isto pitanje: /

      Ja bih mogao:

      s = SMTP ('smtp.gmail.com')
      s.starttls () # Ako koristite TLS
      s.ehlo ()

      Međutim, daje mi ovu grešku:

      python send-email.py "Ovdje smo stavili temu" aquimi@correo.com
      Traceback (najnoviji zadnji poziv):
      Datoteka "send-email.py", red 14, u
      s = SMTP ('smtp.gmail.com')
      Datoteka "/usr/lib/python2.6/smtplib.py", red 239, u __init__
      (kod, poruka) = self.connect (host, port)
      Datoteka "/usr/lib/python2.6/smtplib.py", red 295, u connect
      self.sock = self._get_socket (host, port, self.timeout)
      Datoteka "/usr/lib/python2.6/smtplib.py", red 273, u _get_socket
      vrati socket.create_connection ((port, host), timeout)
      Datoteka "/usr/lib/python2.6/socket.py", red 561, u create_connection
      podizanje greške, msg
      socket.error: [Errno 101] Mreža je nedostupna

  3.   reedyseth rekao je

    Dobro je, a onda ga programirate sa cron i spremni za izvještaj: D.

    1.    KZKG ^ Gaara rekao je

      Da! hehe, uštedite puno vremena automatizirajte stvari sa sciptima 🙂

  4.   luweeds rekao je

    Hvala na postu, čini mi se zanimljivim, a dodavanje funkcionalnosti koju Reedyseth navodi ima još jedan korisni program. 😉 pozdrav kompasi!

    1.    KZKG ^ Gaara rekao je

      Hvala vam na komentaru 😀
      Pozdrav prijatelju.

  5.   Neo61 rekao je

    Gaara, prijatelju, siguran sam da je ovaj članak vrlo dobar, kao što svi ovdje ističu, ali ja - NO-PUE-DO-SE-LOS-E-JEM-PLOS-POR-MI-MAL-DI-TA-CO-NEC - TION
    ŠTA RADIM DA GA VIDIM, REZEM GRLO?

    1.    KZKG ^ Gaara rekao je

      Ne možete otvoriti ovaj link? - » http://paste.desdelinux.net/89

  6.   Neo61 rekao je

    Da vas pitam nešto, možete li napraviti skriptu kako bih određenog dana mogao poslati određenu poruku svim korisnicima svog centra? Pretpostavljam da jeste, ali vi ste specijalista i ako mi to potvrdite, možete li mi pomoći?

    1.    KZKG ^ Gaara rekao je

      Da, da biste učinili "nešto" određenog dana, morate to koristiti crontab.
      Tada, pod pretpostavkom da želite poslati .PDF datoteku (na primjer, note.pdf) svojim korisnicima, slanje na samo 1 e-mail bi bilo:
      mail -s "Este es el asunto del correo" direccionemail@loquesea.cu < nota.pdf

      Sada, da biste to poslali, ali ne samo na jednu adresu, već i na mnogo više ..., morali biste imati adrese u tekstualnoj datoteci (odvojenoj prelomom retka), a zatim koristiti petlju za. Na primjer, ako imate e-poštu u adresi.txt, to bi bilo:

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

  7.   Svijeća David rekao je

    Hvala prijatelju, scenarij izvrsno funkcionira.

  8.   Frank rekao je

    Gdje je skripta ako mi možete pomoći

  9.   areli rekao je

    Možete li, molim vas, podijeliti primjere ????