Jak wysyłać pocztę z terminala za pomocą skryptu

Z powodów X lub Y czasami musimy zaprogramować serwer naszej firmy do wykonania określonego zadania i chcemy wiedzieć, czy to zadanie zostało wykonane bez problemów, w tym celu programujemy, że jeśli wszystko poszło gładko, powiadom nas… ale… ¿ W jaki sposób serwer może nas powiadomić?

Bardzo proste, opowiem Ci za pomocą scenariusza Python aby wysłać do nas e-mail, w ten sposób sprawdzając skrzynkę pocztową, przeczytamy, czy serwer nie miał problemów ze złożeniem zamówienia.

Skrypt zostawił je tutaj: wyślij-e-mail.py

Korzystanie z niego jest bardzo proste, otwórz terminal, wpisz w nim następujące polecenie i naciśnij [Wchodzić]:

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

Zostawiam ci, jak wyglądałby proces:

% CODE1%

Gdy to zrobisz, musisz edytować skrypt, aby umieścić własne dane, ja go edytuję, umieszczając moje dane, czyli dane z mojej pracy.

Otwórz skrypt (send-email.py) i zmień te dane:

  • Twój email@desdelinux. Netto e-mailem (w tym przykładzie - » kzkggaara@ipichcb.rimed.cu)
  • Treść wiadomości według treści wiadomości e-mail (w tym przykładzie - » To jest wiadomość testowa)
  • you.mailserver.cu przez Twój serwer pocztowy (w tym przykładzie - » 192.168.1.2)
  • Twój email przez użytkownika (w tym przykładzie - » kzkggaara)
  • Twoje hasło swojego hasła (w tym przykładzie - » HAHA… tak… jasne… LOL)

Wygląda to następująco: send-email.py (zmodyfikowany)

I voila, pozostaje tylko wysłać wiadomość e-mail ... w tym celu umieścimy następujące informacje:

  • python send-email.py "Tutaj umieszczamy temat" adresat@domena.com

Innymi słowy, musimy wykonać skrypt i przekazać mu parametr „Temat” (czyli temat, który będzie zawierał e-mail), a także do kogo (adres e-mail) zostanie wysłany.

Wyślę do siebie e-mail, oto przykład:

% CODE2%

A teraz 😀

Jak widać, coś całkiem prostego ... ale może nam w pewnych sytuacjach pomóc 😉

pozdrowienia


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   jondarlek powiedział

    to jest bardzo dobre ... ale chcę czegoś takiego, co działa na Windows, ale nie mogę tego znaleźć 🙁

    1.    KZKG ^ Gaara powiedział

      W przypadku systemu Windows ... mmm ... musisz zainstalować Pythona na znajomym Windows: http://www.python.org/getit/windows/

    2.    Jan powiedział

      dla Windows jest narzędzie o nazwie Cobian, jest bardzo dobre i intuicyjne

  2.   Carlos T. powiedział

    jak włączyć wysyłanie przez skrypt przez Gmaila (smtp)?

    1.    elwuilmer powiedział

      Mam to samo pytanie: /

      Mógłbym:

      s = SMTP („smtp.gmail.com”)
      s.starttls () # Jeśli używasz TLS
      s.ehlo ()

      Jednak daje mi ten błąd:

      python send-email.py "Tutaj umieściliśmy temat" aquimi@correo.com
      Traceback (ostatnie połączenie ostatnio):
      Plik „send-email.py”, wiersz 14, w
      s = SMTP („smtp.gmail.com”)
      Plik „/usr/lib/python2.6/smtplib.py”, wiersz 239, w __init__
      (kod, msg) = self.connect (host, port)
      Plik „/usr/lib/python2.6/smtplib.py”, wiersz 295, w connect
      self.sock = self._get_socket (host, port, self.timeout)
      Plik „/usr/lib/python2.6/smtplib.py”, wiersz 273, w _get_socket
      return socket.create_connection ((port, host), limit czasu)
      Plik „/usr/lib/python2.6/socket.py”, wiersz 561, w create_connection
      zgłoś błąd, msg
      socket.error: [Errno 101] Sieć jest nieosiągalna

  3.   reedyset powiedział

    To dobrze, a potem programujesz go za pomocą crona i jesteś gotowy do raportu: D.

    1.    KZKG ^ Gaara powiedział

      Tak! hehe, oszczędzaj dużo czasu, automatyzuj rzeczy za pomocą skryptów 🙂

  4.   Luweed powiedział

    Dzięki za post, uważam go za interesujący, a dodanie funkcjonalności, o której mówi Reedyseth, ma jeszcze jedno narzędzie. 😉 pozdrowienia compas!

    1.    KZKG ^ Gaara powiedział

      Dziękuję za komentarz 😀
      Witaj przyjacielu.

  5.   Neo61 powiedział

    Gaara, mój przyjacielu, jestem pewien, że ten artykuł jest bardzo dobry, ponieważ wszyscy tutaj podkreślają, ale ja - NO-PUE-DO-SE-LOS-E-JEM-PLOS-POR-MI-MAL-DI-TA-CO-NEC- CIA
    CO MAM ZROBIĆ, BY JE ZOBACZYĆ, PODCIĘCIE GARDŁO?

    1.    KZKG ^ Gaara powiedział

      Nie możesz otworzyć tego linku? - » http://paste.desdelinux.net/89

  6.   Neo61 powiedział

    Pozwól, że o coś zapytam, czy mógłbyś zrobić skrypt, abym pewnego dnia mógł wysłać konkretną wiadomość do wszystkich użytkowników mojego centrum? Myślę, że tak, ale jesteś specjalistą i jeśli to potwierdzisz, czy możesz mi pomóc w jego wykonaniu?

    1.    KZKG ^ Gaara powiedział

      Tak, aby „coś” zrobić w danym dniu musisz użyć crontab.
      Następnie, zakładając, że chcesz wysłać plik .PDF (na przykład note.pdf) do swoich użytkowników, aby wysłać tylko do jednego e-maila, będzie to:
      mail -s "Este es el asunto del correo" direccionemail@loquesea.cu < nota.pdf

      Teraz, aby wysłać to, ale nie tylko na jeden adres, ale na wiele innych ... musiałbyś mieć adresy w pliku tekstowym (oddzielone znakiem końca wiersza), a następnie użyć pętli dla. Na przykład, jeśli masz e-maile w adresach.txt, będzie to:

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

  7.   Świeca David powiedział

    Dzięki kolego, skrypt działa świetnie.

  8.   Szczery powiedział

    Gdzie jest skrypt, jeśli możesz mi pomóc

  9.   areli powiedział

    Czy możesz podzielić się przykładami ????