FTP Links in Emails per Script downloaden

Diskutiere das Thema FTP Links in Emails per Script downloaden im Forum Scripting und Automatisierung.

  1. svenson1

    svenson1 Thread Starter Mitglied

    Beiträge:
    70
    Zustimmungen:
    4
    Mitglied seit:
    18.07.2007
    Danke @Olivetti - ich habe getestet........

    Variante 2, wo er den Link selbst herausfischt wäre mir am liebsten (falls sich doch mal etwas ändern sollte an der Länge der Email). Der Inhalt der Variable myURL beginnt mit "ftp://......" und geht aber bis an das Ende der Email. Geht also noch nicht. Kann man die Länge noch begrenzen mit z.B. hinter grep ".....ftp://annonymous*.zip"?

    Bei Variante 1 ist der Inhalt von myURL auch sehr groß. In Zeile 5 steht der komplette Inhalt beginnend mit "Sehr geehrte....." bis Ende der Email. Kann ich also so auch noch nicht verarbeiten.
     
  2. svenson1

    svenson1 Thread Starter Mitglied

    Beiträge:
    70
    Zustimmungen:
    4
    Mitglied seit:
    18.07.2007
    ich habe jetzt mal ein bisschen die man grep gelesen und es mit
    '\<ftp zip\>' probiert - bringt Applescript einen Syntaxerror ;-(
     
  3. Olivetti

    Olivetti Mitglied

    Beiträge:
    10.723
    Zustimmungen:
    3.323
    Mitglied seit:
    09.12.2005
    du hast dann evtl. ein zeilenumbruchproblem oder keine nurtextmail, dann wird's eh' bleed.
    hast du das script auch wirklich komplett ersetzt, nicht nur einzelne bereiche?

    ---

    das ergibt für mich leider auch keinen sinn.
     
  4. svenson1

    svenson1 Thread Starter Mitglied

    Beiträge:
    70
    Zustimmungen:
    4
    Mitglied seit:
    18.07.2007
    Ja habe ich gemacht.

    Zeilenumbruchproblem - das denke ich auch, dass in der original E-Mail kein Umbruch definiert ist.
    Das zeigt ja eigentlich "paragraph 5" bei Variante 1 - es steht die ganze E-Mail-Nachricht in dieser einen Zeile. Ich habe von 1 begonnen und alle durchgetestet bis eben bei 5 alles drin stand.
    Deshalb hatte ich die Hoffnung, das er den Link als Wort erkennt und habe mit den grep-Optionen Wortanfang (ftp) und Wortende (zip) definiert. Geht aber nicht.
     
  5. Olivetti

    Olivetti Mitglied

    Beiträge:
    10.723
    Zustimmungen:
    3.323
    Mitglied seit:
    09.12.2005
    Code:
    grep -iom 1 'ftp://.*\\.zip'
     
  6. svenson1

    svenson1 Thread Starter Mitglied

    Beiträge:
    70
    Zustimmungen:
    4
    Mitglied seit:
    18.07.2007
    ich habe es ;-)

    Code:
    using terms from application "Mail"
        on perform mail action with messages theMessages for rule theRule
            repeat with eachMessage in theMessages
                tell application "Mail"
                    set this_subject to subject of eachMessage
                    set this_body to content of eachMessage
                    #display dialog this_subject
                    #display dialog this_body
                    #say 1
                    #set myURL to paragraph 5 of this_body # variante 1
                    set myURL to do shell script "echo " & quoted form of this_body & " | grep -iom 1 'ftp:.*zip'" # variante 2
                    #display dialog myURL
                    do shell script "wget -p ~/Downloads " & myURL
                    #say 2
                end tell
            end repeat
        end perform mail action with messages
    end using terms from
    Mit dieser grep-Option steht in myURL genau der FTP-Link drin. Aber ein Download findet noch nicht statt. Wenn ich die Zeile in die Zwischenablage kopiere und im Terminal einfüge rennt der Download sofort los. Was kann da noch falsch sein?
     
  7. agrajag

    agrajag Mitglied

    Beiträge:
    3.480
    Zustimmungen:
    1.065
    Mitglied seit:
    25.08.2004
    Eventuell wird der ~ nicht aufgelöst. Probier das mal testhalber mit dem gesamten Pfad.
     
  8. svenson1

    svenson1 Thread Starter Mitglied

    Beiträge:
    70
    Zustimmungen:
    4
    Mitglied seit:
    18.07.2007
    nein, auch mit kompletten Pfad geht es nicht
     
  9. svenson1

    svenson1 Thread Starter Mitglied

    Beiträge:
    70
    Zustimmungen:
    4
    Mitglied seit:
    18.07.2007
    Code:
    using terms from application "Mail"
        on perform mail action with messages theMessages for rule theRule
            repeat with eachMessage in theMessages
                tell application "Mail"
                    set this_subject to subject of eachMessage
                    set this_body to content of eachMessage
                    #display dialog this_subject
                    #display dialog this_body
                    #say 1
                    #set myURL to paragraph 5 of this_body # variante 1
                    set myURL to do shell script "echo " & quoted form of this_body & " | grep -iom 1 'ftp:.*zip'" # variante 2
                    #display dialog myURL
                    tell application "Safari" to open location myURL
                    #do shell script "wget -p ~/Downloads " & myURL
                    #say 2
                end tell
            end repeat
        end perform mail action with messages
    end using terms from
    über Safari funktioniert das Script - wäre aber schon schöner es würde unbemerkt im Hintergrund laden.......
     
  10. Olivetti

    Olivetti Mitglied

    Beiträge:
    10.723
    Zustimmungen:
    3.323
    Mitglied seit:
    09.12.2005
    Weil du kein wget installiert oder es nicht im suchpfad hast. Also schau wo es liegt und gib den Pfad mit an.
     
  11. svenson1

    svenson1 Thread Starter Mitglied

    Beiträge:
    70
    Zustimmungen:
    4
    Mitglied seit:
    18.07.2007
    Habe gerade nachgelesen - ist bei OS X nicht mit dabei und demzufolge bei mir nicht installiert.
    Gibt es Alternative die in OS X vorhanden ist? curl?
    Wenn ich einfach nur die Download-Link-Zeile im Terminal kopiere, lädt er auch ordentlich. Ich habe aber schon probiert

    Code:
    do shell script myURL
    Macht er nicht
     
  12. Olivetti

    Olivetti Mitglied

    Beiträge:
    10.723
    Zustimmungen:
    3.323
    Mitglied seit:
    09.12.2005
    Ja, einfach ftp verwenden.

    Wie meinen?
    Was zeigt "which wget"?

    Logisch. Was soll der link alleine auch machen.
     
  13. svenson1

    svenson1 Thread Starter Mitglied

    Beiträge:
    70
    Zustimmungen:
    4
    Mitglied seit:
    18.07.2007
    ich weiss, etwas unverständlich ausgedrückt ;-)

    nein, kommt kein Pfad - quasi nicht installiert

    Code:
    do shell script "curl -O " & myURL
    
    Damit lädt er die Dateien erst einmal im Hintergrund herunter, aber in mein User-Verzeichnis und nicht in Downloads. Ich will nun vor dem curl-Befehl noch ein cd machen, so dass er curl im Downloadordner ausführt und die Files da ablegt. Wie bekomme ich 2 Befehle hinter do shell script hin?
     
  14. svenson1

    svenson1 Thread Starter Mitglied

    Beiträge:
    70
    Zustimmungen:
    4
    Mitglied seit:
    18.07.2007
    Ich denke jetzt läuft das script und beim Eingang neuer Emails mit Downloadlink werden diese automatisch im Hintergrund ins Downloadverzeichnis gespeichert.

    Code:
    using terms from application "Mail"
        on perform mail action with messages theMessages for rule theRule
            repeat with eachMessage in theMessages
                tell application "Mail"
                    set this_subject to subject of eachMessage
                    set this_body to content of eachMessage
                    #display dialog this_subject
                    #display dialog this_body
                    #say 1
                    #set myURL to paragraph 5 of this_body # variante 1
                    set myURL to do shell script "echo " & quoted form of this_body & " | grep -iom 1 'ftp:.*zip'" # variante 2
                    #display dialog myURL
                    #tell application "Safari" to open location myURL
                    #do shell script "wget -p ~/Downloads " & myURL
                    do shell script "cd ~/Downloads; curl -O " & myURL
                    #say 2
                end tell
            end repeat
        end perform mail action with messages
    end using terms from
    Danke @Olivetti für deine super Unterstützung!!!
     
  15. Olivetti

    Olivetti Mitglied

    Beiträge:
    10.723
    Zustimmungen:
    3.323
    Mitglied seit:
    09.12.2005
    prego!
     
Die Seite wird geladen...
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite weitersurfst, akzeptierst du unseren Einsatz von Cookies. Akzeptieren Weitere Informationen...