Hur man skickar e-post från terminalen med ett skript

Av X eller Y-skäl behöver vi ibland programmera vårt företags server för att göra en viss uppgift, och vi vill veta om den här uppgiften utfördes utan problem, för detta programmerar vi att om allt gick smidigt, meddela oss ... men ... ¿Hur kan servern meddela oss?

Mycket enkelt kommer vi att berätta för dig genom ett manus Python Skicka ett e-postmeddelande, på det här sättet när vi kontrollerar brevlådan, kommer vi att läsa om servern inte hade några problem att göra beställningen.

Manuset lämnade dem här: send-email.py

Att använda det är väldigt enkelt, öppna en terminal, i den skriver du följande och trycker på [Stiga på]:

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

Jag lämnar dig hur processen skulle vara:

% KOD1%

 

När detta är klart måste du redigera skriptet för att lägga till dina egna data, jag kommer att redigera det genom att lägga mina data, det vill säga data härifrån mitt arbete.

Öppna skriptet (send-email.py) och ändra denna information:

  • your-email@desdelinux.net via din e-post (i det här exemplet - » kzkggaara@ipichcb.rimed.cu)
  • Meddelandetext av innehållet i e-postmeddelandet (i det här exemplet - » Det här är ett testmeddelande)
  • you.mailserver.cu av din e-postserver (i det här exemplet - » 192.168.1.2)
  • din email av din användare (i det här exemplet - » kzkggaara)
  • ditt lösenord för ditt lösenord (i det här exemplet - » HAHA ... ja ... säker ... LOL)

Det ser ut som följande: send-email.py (modifierad)

Och voila, det återstår bara att skicka e-postmeddelandet ... för detta kommer vi att lägga följande:

  • python send-email.py "Här lägger vi ämnet" mottagare@domän.com

Vi måste utföra skriptet och skicka parametern "Ämne" (det vill säga ämnet som e-postmeddelandet kommer att ta) och även till vem (e-postadress) det kommer att skickas.

Jag skickar ett mejl till mig själv, här är exemplet:

% KOD2%

 

Och nu 😀

Som du kan se, något ganska enkelt ... men det kan hjälpa oss vid vissa tillfällen 😉

hälsningar


Innehållet i artikeln följer våra principer om redaktionell etik. Klicka på för att rapportera ett fel här.

16 kommentarer, lämna din

Lämna din kommentar

Din e-postadress kommer inte att publiceras.

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   jondarlek sade

    det är väldigt bra .. men jag vill ha något liknande som fungerar för Windows men jag kan inte hitta det 🙁

    1.    KZKG ^ Gaara sade

      För Windows ... mmm ... måste du installera Python på Windows-vän: http://www.python.org/getit/windows/

    2.    john sade

      för windows finns det ett verktyg som heter Cobian, det är mycket bra och intuitivt

  2.   Carlos T. sade

    hur gör man för att skriptet ska kunna skickas med gmail (smtp)?

    1.    elwuilmer sade

      Jag har samma fråga: /

      Jag skulle kunna:

      s = SMTP ('smtp.gmail.com')
      s.starttls () # Om du använder TLS
      s.ehlo ()

      Men det ger mig det här felet:

      python send-email.py "Här lägger vi ämnet" aquimi@correo.com
      Spårning (senaste samtalet senast):
      Fil "send-email.py", rad 14, in
      s = SMTP ('smtp.gmail.com')
      Fila "/usr/lib/python2.6/smtplib.py", rad 239, i __init__
      (kod, msg) = self.connect (värd, port)
      Fil "/usr/lib/python2.6/smtplib.py", rad 295, i anslutning
      self.sock = self._get_socket (värd, port, self.timeout)
      Fil "/usr/lib/python2.6/smtplib.py", rad 273, i _get_socket
      return socket.create_connection ((port, host), timeout)
      Fil "/usr/lib/python2.6/socket.py", rad 561, i create_connection
      höja fel, msg
      socket.error: [Errno 101] Nätverket kan inte nås

  3.   reedyseth sade

    Det är bra, och sedan programmerar du det med cron och redo att göra rapporter: D.

    1.    KZKG ^ Gaara sade

      ja! hehe, spara mycket tid på att automatisera saker med scipts 🙂

  4.   Luweeds sade

    Tack för inlägget, jag tycker det är intressant och att lägga till den funktionalitet som Reedyseth citerar har ytterligare ett verktyg. 😉 hälsningar kompas!

    1.    KZKG ^ Gaara sade

      Tack till dig för kommentaren 😀
      Hälsningar vän.

  5.   Neo61 sade

    Gaara, min vän, jag är säker på att den här artikeln är väldigt bra som alla här lyfter fram men jag - NO-PUE-DO-SE-LOS-E-JEM-PLOS-POR-MI-MAL-DI-TA-CO-NEC - TION
    VAD GÖR jag för att se dem, klippa min hals?

    1.    KZKG ^ Gaara sade

      Kan du inte öppna den här länken? - » http://paste.desdelinux.net/89

  6.   Neo61 sade

    Låt mig fråga dig något, kan jag skapa ett skript så att jag en viss dag kan skicka ett specifikt meddelande till alla användare i mitt center? Jag föreställer mig det, men du är specialisten och om du bekräftar detta, kan du hjälpa mig att göra en?

    1.    KZKG ^ Gaara sade

      Ja, för att göra "något" på en viss dag måste du använda crontab.
      Förutsatt att du vill skicka en .PDF-fil (till exempel note.pdf) till dina användare, skulle du bara skicka till ett e-postmeddelande:
      mail -s "Este es el asunto del correo" direccionemail@loquesea.cu < nota.pdf

      Nu, för att skicka det men inte bara till en adress utan till många fler ... måste du ha adresserna i en textfil (åtskilda av en radbrytning) och sedan använda en slinga för. Om du till exempel har e-postmeddelandena i adresser.txt skulle det vara:

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

  7.   David ljus sade

    Tack kompis, manuset fungerar bra.

  8.   Frank sade

    Var är manuset om du kan hjälpa mig

  9.   Areli sade

    Kan du snälla dela exemplen ????