ubuntuusers.de

URL Klickbot mit E-Mail als Quelle

Status: Ungelöst | Ubuntu-Version: Server 10.10 (Maverick Meerkat)
Antworten |

mk3

Anmeldungsdatum:
5. November 2007

Beiträge: Zähle...

Wohnort: Hückeswagen

Guten Tag,

ich bastel grad ein Script, das am Ende eine empfangene Mail nehmen soll und alle HTML-Links extrahiert / mit "wget -O /dev/null" hittet. Leider habe ich noch nicht ganz verstanden wie ich jede Mail beim Empfangen so parsen kann.

So weit bin ich schon ☺ :

1
2
lynx -dump "http://www.example.com" | egrep -o "http:.*" >mylinks.txt
wget -T 5 -i mylinks.txt -O /dev/null

In dem Fall läd er eine Website statt einer E-Mail.

Mir ist bekannt das ich mit einem Eventhandler arbeiten muss, die Frage ist nur wo und wie. Gerne mit einer Procmail Lösung.

Kann mir da vielleicht jemand spontan helfen? Das Gebiet ist Neuland für mich, von daher hab ich mal in die /var/mail/user reingeguckt, dort werden die Mails aber untereinander geklatscht (klar, kein Wunder).

Ein paar Stichwörter helfen mir schon enorm, ich erwarte keine Komplettlösung (außer natürlich ihr habt die gerade wirklich). ☺

nullEuro

Avatar von nullEuro

Anmeldungsdatum:
26. Februar 2009

Beiträge: 225

Hi.

Ich empfehle

egrep -o "http:[^\"]*"

sonst kommt bei html-links Müll raus 😀

Wie du das mit den Mails machst, weiß ich nicht. Ist das denn ein Mailserver oder ein einfaches, externes Konto? (bei zweiterem würde ich nach Konsolenclients suchen)

mk3

(Themenstarter)

Anmeldungsdatum:
5. November 2007

Beiträge: 156

Wohnort: Hückeswagen

nullEuro schrieb:

Ist das denn ein Mailserver oder ein einfaches, externes Konto? (bei zweiterem würde ich nach Konsolenclients suchen)

Ist völlig offen, läuft als VM, kann also gerne die Umgebung anpassen, also entweder mit fetchmail oder postfix, etc.

Deine RegEx teste ich gleich mal ☺ sieht aber auf jeden Fall besser aus ☺ Danke!

Edit: Danke für die RegEx, funktioniert viel besser ☺

Edit2:

1
cat /var/mail/user | egrep -o "http:[^\"]*" | sort | uniq >mylinks.txt

Spricht was dagegen einfach dreist die /var/mail/user Datei zu lesen? Wenn ja, welche Möglichkeit gibts dann noch?

JoK

Anmeldungsdatum:
2. Juli 2009

Beiträge: 77

Du kannst in der /etc/aliases an ein Script pipen.

Auszug aus man aliases:

       |command
              Mail  is piped into command. Commands that contain special char‐
              acters, such as whitespace, should be  enclosed  between  double
              quotes. See local(8) for details of delivery to command.

              When  the  command  fails, a limited amount of command output is
              mailed back to the  sender.   The  file  /usr/include/sysexits.h
              defines  the expected exit status codes. For example, use "|exit
              67" to simulate a "user unknown" error, and "|exit 0" to  imple‐
              ment an expensive black hole.
Antworten |