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
vrlo je dobro .. ali želim nešto poput ovoga što radi za Windows, ali ga ne mogu pronaći 🙁
Za Windows ... mmm ... morate instalirati Python na Windows prijatelja: http://www.python.org/getit/windows/
za Windows postoji alat zvan Cobian, vrlo je dobar i intuitivan
kako omogućiti skriptu za slanje putem gmaila (smtp)?
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
Dobro je, a onda ga programirate sa cron i spremni za izvještaj: D.
Da! hehe, uštedite puno vremena automatizirajte stvari sa sciptima 🙂
Hvala na postu, čini mi se zanimljivim, a dodavanje funkcionalnosti koju Reedyseth navodi ima još jedan korisni program. 😉 pozdrav kompasi!
Hvala vam na komentaru 😀
Pozdrav prijatelju.
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?
Ne možete otvoriti ovaj link? - » http://paste.desdelinux.net/89
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?
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
Hvala prijatelju, scenarij izvrsno funkcionira.
Gdje je skripta ako mi možete pomoći
Možete li, molim vas, podijeliti primjere ????