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
este foarte bine .. dar vreau așa ceva care să funcționeze pentru Windows, dar nu îl găsesc 🙁
Pentru Windows ... mmm ... trebuie să instalați Python pe Windows friend: http://www.python.org/getit/windows/
pentru Windows există un instrument numit Cobian, este foarte bun și intuitiv
cum se activează scriptul pentru a trimite cu gmail (smtp)?
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ă
Este bine și apoi îl programezi cu cron și gata să raportezi: D.
Da! hehe, economisește mult timp automatizează lucrurile cu resturi 🙂
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!
Vă mulțumesc pentru comentariu 😀
Salutări prietene.
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?
Nu puteți deschide acest link? - » http://paste.desdelinux.net/89
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?
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
Mulțumesc prietene, scenariul funcționează excelent.
Unde este scenariul dacă mă puteți ajuta
Vă puteți împărtăși exemplele ????