Paano magpadala ng mail mula sa terminal gamit ang isang script

Para sa mga kadahilanang X o Y, kung minsan kailangan naming i-program ang server ng aming kumpanya upang gumawa ng isang tiyak na gawain, at nais naming malaman kung ang gawaing ito ay naisakatuparan nang walang mga problema, para sa programang ito na kung ang lahat ay naging maayos, ipaalam sa amin ... ngunit… ¿Paano kami maabisuhan ng server?

Napakasimple, sasabihin namin sa iyo sa pamamagitan ng isang script Sawa Magpadala sa amin ng isang email, sa ganitong paraan kapag tinitingnan namin ang mailbox, babasahin namin kung ang server ay walang mga problema upang ilagay ang order.

Iniwan sila ng script dito: send-email.py

Upang magamit ito ay napaka-simple, buksan ang isang terminal, dito isulat ang sumusunod at pindutin [Ipasok]:

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

Iniwan ko sa iyo kung paano ang magiging proseso:

% CODE1%

Kapag tapos na ito, dapat mong i-edit ang script upang mailagay ang iyong sariling data, ie-edit ko ito sa pamamagitan ng paglalagay ng aking data, iyon ay, ang data mula dito sa aking trabaho.

Buksan ang script (send-email.py) at baguhin ang data na ito:

  • ang email mo@desdelinux. Net sa pamamagitan ng iyong email (sa halimbawang ito - » kzkggaara@ipichcb.rimed.cu)
  • Katawan ng Mensahe sa pamamagitan ng nilalaman ng email (sa halimbawang ito - » Ito ay isang pagsubok na email)
  • ikaw.mailserver.cu ng iyong mail server (sa halimbawang ito - » 192.168.1.2)
  • ang email mo ng iyong gumagamit (sa halimbawang ito - » kzkggaara)
  • ang iyong password para sa iyong password (sa halimbawang ito - » HAHA ... yeah… sure… LOL)

Parang ang sumusunod: send-email.py (Binago)

At voila, nananatili lamang itong magpadala ng email ... para dito ilalagay namin ang mga sumusunod:

  • python send-email.py "Dito inilalagay namin ang paksa" tatanggap@domain.com

Iyon ay, dapat nating isagawa ang script at ipasa ang parameter na "Paksa" (iyon ay, ang paksa na kukuha ng email) at pati kanino (email address) ipapadala ito.

Magpadala ako ng isang email sa aking sarili, narito ang halimbawa:

% CODE2%

At ngayon 😀

Tulad ng nakikita mo, isang bagay na medyo simple ... ngunit makakatulong ito sa amin sa ilang mga okasyon 😉

Regards


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   jondarlek dijo

    napakahusay .. ngunit nais ko ang isang bagay na tulad nito na gumagana para sa mga bintana ngunit hindi ko ito makita 🙁

    1.    KZKG ^ Gaara dijo

      Para sa Windows ... mmm ... dapat mong i-install ang Python sa kaibigan sa Windows: http://www.python.org/getit/windows/

    2.    john dijo

      para sa mga bintana mayroong isang tool na tinatawag na Cobian, napakahusay at intuitive nito

  2.   Carlos T. dijo

    paano paganahin ang script na maipapadala gamit ang gmail (smtp)?

    1.    elwuilmer dijo

      Mayroon akong parehong tanong: /

      Kaya ko:

      s = SMTP ('smtp.gmail.com')
      s.starttls () # Kung gumagamit ka ng TLS
      s.ehlo ()

      Gayunpaman binibigyan nito ako ng error na ito:

      python send-email.py "Narito inilagay namin ang paksa" aquimi@correo.com
      Traceback (pinakahuling huling tawag):
      I-file ang "send-email.py", linya 14, sa
      s = SMTP ('smtp.gmail.com')
      I-file ang "/usr/lib/python2.6/smtplib.py", linya 239, sa __init__
      (code, msg) = self.connect (host, port)
      I-file ang "/usr/lib/python2.6/smtplib.py", linya 295, na kumonekta
      self.sock = self._get_socket (host, port, self.timeout)
      I-file ang "/usr/lib/python2.6/smtplib.py", linya 273, sa _get_socket
      ibalik ang socket.create_connection ((port, host), timeout)
      I-file ang "/usr/lib/python2.6/socket.py", linya 561, sa create_connection
      taasan ang error, msg
      socket.error: [Errno 101] Hindi maabot ang network

  3.   reedyseth dijo

    Mabuti, at pagkatapos ay i-program mo ito sa cron at handa nang mag-ulat: D.

    1.    KZKG ^ Gaara dijo

      Oo! hehe, makatipid ng maraming oras na i-automate ang mga bagay gamit ang mga iskrip 🙂

  4.   May gusto dijo

    Salamat sa post, nakikita ko itong kawili-wili at pagdaragdag ng pag-andar na binanggit ni Reedyseth ay may isa pang utility. 😉 mga pagbati compas!

    1.    KZKG ^ Gaara dijo

      Salamat sa iyo para sa komento 😀
      Pagbati kaibigan

  5.   Neo61 dijo

    Gaara, aking kaibigan, sigurado akong napakahusay ng artikulong ito dahil ang lahat dito ay nakikilala ngunit AKO - HINDI -PUE-DO-SEE-LOS-E-JEM-PLOS-POR-MI-MAL-DI-TA-CO- NEC- TION
    ANO ANG GINAGAWA KO UPANG MAKITA SILA, PUTI ANG AKING LABO

    1.    KZKG ^ Gaara dijo

      Hindi mabuksan ang link na ito? - » http://paste.desdelinux.net/89

  6.   Neo61 dijo

    Hayaan mo akong magtanong sa iyo, maaari ba akong gumawa ng isang script upang sa isang tiyak na araw ay maaari akong magpadala ng isang tukoy na mensahe sa lahat ng mga gumagamit ng aking sentro? Naiisip ko ito, ngunit ikaw ang dalubhasa at kung kumpirmahin mo ito, maaari mo ba akong tulungan na gumawa ng isa?

    1.    KZKG ^ Gaara dijo

      Oo, upang makagawa ng "isang bagay" sa isang naibigay na araw dapat mong gamitin crontab.
      Pagkatapos, ipagpalagay na nais mong magpadala ng isang .PDF file (halimbawa, note.pdf) sa iyong mga gumagamit, upang maipadala sa 1 email lamang ang magiging:
      mail -s "Este es el asunto del correo" direccionemail@loquesea.cu < nota.pdf

      Ngayon, upang maipadala iyon ngunit hindi lamang sa isang address, ngunit sa marami pa ... kakailanganin mong magkaroon ng mga address sa isang text file (pinaghiwalay ng isang break ng linya), at pagkatapos ay gumamit ng isang loop para. Halimbawa, kung mayroon kang mga email sa mga address.txt, ito ay:

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

  7.   Kandila ni David dijo

    Salamat kaibigan, mahusay na gumagana ang script.

  8.   Lantad dijo

    Nasaan ang script kung makakatulong ka sa akin

  9.   Si Areli dijo

    Maaari mo bang ibahagi ang mga halimbawa ????