Bereiche
News
Rewind
Tipps & Berichte
Forum
Galerie
Journals
Events
Umfragen
Themenwoche
Kleinanzeigen
Interaktiv
Anmelden
Registrierung
Zu allen empfangenen Nachrichten
Suche...
Zur erweiterten Suche
Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum
>
Software
>
AppleScript für Ordneraktion gesucht
AppleScript für Ordneraktion gesucht
wurzelmac
23.04.13
09:30
Ist es möglich, einen Ordner wie folgt zu überwachen:
Wenn die Datei "IMG_0002.JPG" im Ordner "xy" hinzugefügt wird, sende eine eMail an "xy@mac.com". Das ganze *sollte* ohne eMail Client funktionieren - geht das überhaupt?
(_mäuschen...
)
Cheers,
wurzelmac
Hilfreich?
0
Kommentare
Lyhoo
23.04.13
11:11
on adding folder items to this_folder after receiving added_items
try
tell application "Finder"
repeat with eineDatei in added_items
if name of eineDatei is "IMG_0002.JPG" then my mailSenden()
end repeat
end tell
end try
end adding folder items to
on mailSenden()
tell application "Mail"
set mailEmpf to "123@abc.de"
set NeueMail to make outgoing message at end of outgoing messages
tell NeueMail
make new to recipient at end of to recipients with properties {address:mailEmpf}
set subject of NeueMail to "Hier Betreff eingeben"
set content of NeueMail to "Hier Text eingeben"
send NeueMail
end tell
end tell
end mailSenden
Dieses Script sendet mit Client (Mail).
Es sollten der Empfänger, Betreff, Mailtext und Dateiname angepasst werden.
Das Script nach 'Library / Scripts / Folder Action Scripts' sichern. Dann Rechtsklick auf den zu überwachenden Ordner: 'Dienste: Ordneraktionen konfigurieren...'
Hilfreich?
0
Lyhoo
23.04.13
11:19
Wenn es unbedingt ohne Client sein soll: Im Terminal 'man mail' eingeben, lesen und ein passendes Shell Script basteln. Das ist aber nicht meine Baustelle
Hilfreich?
0
wurzelmac
23.04.13
12:13
Besten Dank!
Hilfreich?
0
wurzelmac
23.04.13
12:39
Eine Frage noch: Was muss ich tun, damit Mail nach dem Senden wieder beendet wird?
Hilfreich?
0
Lyhoo
23.04.13
12:42
on adding folder items to this_folder after receiving added_items
try
tell application "Finder"
repeat with eineDatei in added_items
if name of eineDatei is "IMG_0002.JPG" then my mailSenden()
end repeat
end tell
end try
end adding folder items to
on mailSenden()
tell application "Mail"
set mailEmpf to "123@abc.de"
set NeueMail to make outgoing message at end of outgoing messages
tell NeueMail
make new to recipient at end of to recipients with properties {address:mailEmpf}
set subject of NeueMail to "Hier Betreff eingeben"
set content of NeueMail to "Hier Text eingeben"
send NeueMail
end tell
quit
end tell
end mailSenden
Hilfreich?
0
aa
23.04.13
12:49
Ich würde dann allerdings vorher abfragen, ob Mail schon läuft. Mich würde es nerven, wenn das Script loslegt und mir einfach Mail beendet, obwohl ich es gerade benutze.
Hilfreich?
0
Lyhoo
23.04.13
13:23
on adding folder items to this_folder after receiving added_items
try
tell application "Finder"
repeat with eineDatei in added_items
if name of eineDatei is "IMG_0002.JPG" then my mailSenden()
end repeat
end tell
end try
end adding folder items to
on mailSenden()
tell application "System Events" to copy (name of every process whose background only is false) to AlleApps
if "Mail" is in AlleApps then
set MailIstAus to false
else
set MailIstAus to true
end if
tell application "Mail"
set mailEmpf to "123@abc.de"
set NeueMail to make outgoing message at end of outgoing messages
tell NeueMail
make new to recipient at end of to recipients with properties {address:mailEmpf}
set subject of NeueMail to "Hier Betreff eingeben"
set content of NeueMail to "Hier Text eingeben"
send NeueMail
end tell
if MailIstAus then quit
end tell
end mailSenden
Hilfreich?
0
Megaseppl
23.04.13
14:02
Wenn es _mit_ Mail-Client laufen darf, benötigt es überhaupt kein Apple-Script. Eine Ordnerüberwachung mit Mailversand kann man sich auch einfacher erstellen - mit Automator.
Ganz ohne Mail-Client stelle ich mir auch schwierig ohne weitere Software vor... das ließe sich vielleicht besser extern regeln indem nicht direkt eine Mail verschickt wird, sondern eine URL auf einem Webserver aufgerufen wird (mit den gewünschten Parametern im Query) und der Server dann erst die Mail erstellt.
Hilfreich?
0
wurzelmac
23.04.13
15:15
Ohh, super! Danke allen!
aa: Auf dem betroffenen Mac mini läuft Mail nie, daher ist diese Abfrage (für mich) nicht nötig. (Weil Mail auf diesem Mac nie läuft, war mein Gedanke auch, es ohne Client zu versuchen.)
Danke nochmal!
wurzelmac
Hilfreich?
0
wurzelmac
23.04.13
16:55
Jetzt muss ich noch mal lästig sein: Das Skript funktioniert wunderbar, das eMail wird gesendet, allerdings wird Mail anschließend leider nicht beendet, warum auch immer. Vielleicht gibt es da noch einen speziellen Trick?
Hilfreich?
0
wurzelmac
23.04.13
19:31
Einmal geht's noch...
Ich habe vor dem "quit" einen "delay" von 30 sec eingebaut, nun funktioniert das Beenden!
Cheers,
Reinhard
Hilfreich?
0
Lyhoo
23.04.13
19:43
OK. Dann geben wir Mail etwas Zeit, die E-Mail zu senden. Wenn es immer noch nicht klappt, dann die Zeit verlängern. Die Zahl hinter 'delay' ist die Dauer der Pause in Sekunden.
Ich entnehme Deinem Foto, daß Deine Webcam zurückgesetzt werden muß. Wenn das Zurücksetzen per Software geschieht, dann ist vielleicht auch das per Applescript möglich.
on adding folder items to this_folder after receiving added_items
try
tell application "Finder"
repeat with eineDatei in added_items
if name of eineDatei is "IMG_0002.JPG" then my mailSenden()
end repeat
end tell
end try
end adding folder items to
on mailSenden()
tell application "Mail"
set mailEmpf to "123@abc.de"
set NeueMail to make outgoing message at end of outgoing messages
tell NeueMail
make new to recipient at end of to recipients with properties {address:mailEmpf}
set subject of NeueMail to "Hier Betreff eingeben"
set content of NeueMail to "Hier Text eingeben"
send NeueMail
end tell
delay 5
quit
end tell
end mailSenden
Hilfreich?
0
Lyhoo
23.04.13
19:44
Da kann man mal sehen. Ich habe mehr als 12 Minuten für die letzten Zeilen gebraucht.
Hilfreich?
0
wurzelmac
23.04.13
20:39
Hallo Lyhoo,
cool, dass du dich noch einmal meldest und bei meinem Skript-Problem hilfst - DANKE! Die Cam muss - sollte eben das imv_0002 auftauchen - komplett vom Strom getrennt werden (USB aus- und wieder einstecken!) und ist (für den Reset) somit nicht softwaremäßig steuerbar. Falls Interesse: hier gibts das Bild:
Cheers,
Reinhard
Hilfreich?
0
Gerhard Uhlhorn
23.04.13
20:50
wurzelmac
Ich habe vor dem "quit" einen "delay" von 30 sec eingebaut, nun funktioniert das Beenden!
Das geht so lange gut wie der Abstand zwischen neuen Bildern 30 mindestens Sekunden ist, würde ich jetzt mal annehmen. Oder wird mit einem neuen Durchlauf so lange gewartet bis der alte beendet ist?
Hilfreich?
0
wurzelmac
23.04.13
20:57
Hallo Gerhard,
der "Fehler", dass die Webcam plötzlich einen unerwarteten Absturz aus ihrer Fernsteuerung per anderen Skripts hat und nicht mehr das angesteuerte Bild 0001, sondern eben ein weiteres Bild 0002 liefert, tritt alle Wochen bis 10 Tage einmal auf - da sollten 30 Sekunden delay genügen.
Mir geht es nur darum, möglichst zeitnah auf das reagieren zu können. Also nicht Stunden und Tage zur Reaktion zu benötigen.
Cheers,
Reinhard
Hilfreich?
0
Gerhard Uhlhorn
23.04.13
21:11
Ah, gut.
Hilfreich?
0
Lyhoo
23.04.13
22:28
Würde es helfen, wenn der Computer kurz aus ist?
Ich hatte mal ein Script gebastelt, daß den Mac zu einer bestimmten Zeit eingeschaltet hat. Bei Bedarf suche ich es raus.
Ausschalten ist einfach:
Tell app "Finder" to shut down
Neustart:
Tell app "Finder" to restart
Hilfreich?
0
_mäuschen
24.04.13
12:20
Anstelle eines simplen delay
repeat
if
background activity count
is 0 then exit repeat
delay 1
end repeat
Hilfreich?
0
Gerhard Uhlhorn
24.04.13
14:31
_mäuschen: Ja, das ist die bessere Lösung.
Hilfreich?
0
dersetzer
24.04.13
23:12
Kann man auch jede x-beliebig benannte Datei die im Ordner "xy" landet, automatisch senden und dann in den Papierkorb verschieben?
Hilfreich?
0
_mäuschen
25.04.13
13:32
on adding folder items to this_folder after receiving added_items
try
tell application "Finder"
repeat with eineDatei in added_items
my mailSenden(eineDatei)
move eineDatei to trash
end repeat
end tell
end try
end adding folder items to
on mailSenden(theAttachment)
tell application "Mail"
set mailEmpf to "123@abc.de"
set NeueMail to make outgoing message at end of outgoing messages
tell NeueMail
make new to recipient at end of to recipients with properties {address:mailEmpf}
set subject of NeueMail to "Hier Betreff eingeben"
set content of NeueMail to "Hier Text eingeben
"
make new attachment with properties {file name:theAttachment} at after the last word of the last paragraph
send NeueMail
end tell
-- repeat
-- if background activity count is 0 then exit repeat
-- delay 0.1
-- end repeat
-- quit
end tell
end mailSenden
Hilfreich?
0
dersetzer
25.04.13
14:06
Bedankt. Klappt perfekt. Kann man da auch noch eine 2. Mailadresse eingeben?
Hilfreich?
0
_mäuschen
25.04.13
14:41
Schau Dir das hier an
http://macscripter.net/viewtopic.php?id=29761
Hilfreich?
0
dersetzer
25.04.13
14:53
Nochmals herzlichen Dank. Klappt so wie gedacht.
Hilfreich?
0
wurzelmac
26.04.13
12:30
Herzlichen Dank auch von meiner Seite für den weiteren Input - much appreciated!
Cheers,
wurzelmac
Hilfreich?
0
Lyhoo
26.04.13
12:40
Gerhard Uhlhorn
_mäuschen: Ja, das ist die bessere Lösung.
Stimmt.
wurzelmac: Schöne Aussicht bei Dir.
_mäuschen: Ich war gestern nicht am Mac. Danke daß Du das Script weiter bearbeitet hast.
Man erkennt an den Variablennamen genau, welche Zeile von Dir oder mir ist.
Hilfreich?
0
dersetzer
27.04.13
00:55
Könnte von euch Experten bitte jemand einmal über das Script schauen und sagen wo der Fehler liegt? Mail wird im Zuge der Ordneraktion an alle versendet, allerdings ohne den Anhang:
on adding folder items to this_folder after receiving added_items
try
tell application "Finder"
repeat with eineDatei in added_items
my mailSenden(eineDatei)
move eineDatei to trash
end repeat
end tell
end try
end adding folder items to
on mailSenden(theAttachment)
tell application "Mail"
set addressList to {"empfaenger1@blabla.bla", "empfaenger1@blabla.bla", "empfaenger2@blabla.bla"}
set nameList to {"Empfänger1", "Empfänger2", "Empfänger3"}
tell (current date) + 1 * days to set theSubject to "Blablatest " & its weekday & "," & space & its day & "." & space & its month & space & its year
tell application "Mail"
set theMessage to make new outgoing message with properties {visible:true, subject:theSubject, content:"Test for today. Blah blah blah. "}
tell theMessage
repeat with i from 1 to count nameList
end repeat
make new to recipient at end of to recipients with properties {name:item i of nameList, address:item i of addressList}
end tell
send theMessage
end tell
make new attachment with properties {file name:theAttachment} at after the last word of the last paragraph
send NeueMail
end tell
-- repeat
-- if background activity count is 0 then exit repeat
-- delay 0.1
-- end repeat
-- quit
end mailSenden
Hilfreich?
0
Lyhoo
27.04.13
10:12
① Die Datei wurde im falschen Format übergeben.
② Im unteren Teil war das Senden doppelt. Dadurch wurde die Mail gesendet, bevor der Anhang dran war!
on adding folder items to this_folder after receiving added_items
try
tell application "Finder"
repeat with eineDatei in added_items
set einedateiA to eineDatei as alias
my mailSenden(einedateiA)
move eineDatei to trash
end repeat
end tell
end try
end adding folder items to
on mailSenden(theAttachment)
tell application "Mail"
set addressList to {"empfaenger1@blabla.bla", "empfaenger1@blabla.bla", "empfaenger2@blabla.bla"}
set nameList to {"Empfänger1", "Empfänger2", "Empfänger3"}
tell (current date) + 1 * days to set theSubject to "Blablatest " & its weekday & "," & space & its day & "." & space & its month & space & its year
--tell application "Mail"
set theMessage to make new outgoing message with properties {visible:true, subject:theSubject, content:"Test for today. Blah blah blah. "}
tell theMessage
repeat with i from 1 to count nameList
make new to recipient at end of to recipients with properties {name:item i of nameList, address:item i of addressList}
end repeat
make new attachment with properties {file name:theAttachment} at after the last word of the last paragraph
end tell
send theMessage
end tell
end mailSenden
Hilfreich?
0
dersetzer
28.04.13
00:15
Kann man nicht besser machen. Nochmals vielen Dank
Hilfreich?
0
Kommentieren
Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.
Firefox: Gestrichenes Datenschutzversprechen un...
Softwareupdate: Apple veröffentlicht iOS 18.2.1
iPhone SE 4: Dummy-Modelle zeigen das Design
Apples Frühjahrs-Kollektion – neue Farben für Z...
Was Apple heute vorstellen könnte
UltraFine 6K: LG möchte Apple mit neuem 32-Zoll...
Kuo zum faltbaren iPhone: Preis, technische Spe...
PIN-Code erraten: Dauer