Connect failed: Connection timed out

[GastForen Programmierung/Entwicklung AppleScript Ordner überwachen

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Ordner überwachen

Anonym
Beiträge gesamt: 22827

31. Mär 2005, 11:22
Beitrag # 1 von 37
Bewertung:
(25853 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Tag,
ich habe folgende Vorstellung:
Ein Ordner auf einem Helios Volume wir soll überwacht werden. Sobald in diesem Ordner eine neue Datei "reinfällt", soll diese Datei als Anhang an eine fest vorgegebene Adresse mit einem Mailprogramm verschickt werden.
Ist das technisch mit einem AppleScript umzusetzen?

Grüße
Uwe
X

Ordner überwachen

Hans Haesler
  
Beiträge gesamt: 5826

31. Mär 2005, 13:25
Beitrag # 2 von 37
Beitrag ID: #419434
Bewertung:
(25845 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

leider habe ich bisher sämtliche Messages von der "AppleScript User's List",
welche das Thema "Mail" behandelten, ungelesen gelöscht ...

Ich musste mich zuerst also etwas schlauer machen, als ich es bisher war.
Doch nach kurzer Zeit hatte ich folgende Ordneraktion zusammengestellt und –
zu meiner Überraschung – sie funktionierte auf Anhieb. :-)

Anstelle von "Adressat" muss der Name des Empfängers eingesetzt werden.
Das erste "<abc@def.de>" ist die E-mail-Adresse des Empfängers.
Und "Absender <abc@def.de>" durch die richtige Absenderadresse ersetzen.

Als "Betreff" setzt das Script den Namen der Datei ein.
---
property msgName : "Adressat"
property msgAddress : "<abc@def.de>"
property msgBody : "Hallo!"
property msgSender : "Absender <abc@def.de>"

on adding folder items to thisFolder after receiving fileList
   repeat with aFile in fileList
      set filePath to (aFile as string)
      if not (filePath ends with ":") then
         set aName to name of (info for (file filePath))
         sendFile(aName, aFile)
      end if
   end repeat
end adding folder items to

on sendFile(msgSubject, msgAttachment)
   tell application "Mail"
      set newMessage to make new outgoing message with properties ¬
         {subject:msgSubject, content:msgBody & return & return}
      tell newMessage
         set visible to true
         set sender to msgSender
         make new to recipient at end of to recipients with properties {name:msgName, address:msgAddress}
         tell content
            make new attachment with properties {file name:msgAttachment} at after the last paragraph
         end tell
      end tell
      activate
      save newMessage
      send newMessage
   end tell
end sendFile
---
Wenn "Mail" dabei unsichtbar bleiben sollte, dann kannst Du die Zeile 'set visible to true'
in 'set visible to false' ändern und das 'activate' (am Scriptende) entfernen.

Gruss, Hans


als Antwort auf: [#419433]

Ordner überwachen

Anonym
Beiträge gesamt: 22827

31. Mär 2005, 14:27
Beitrag # 3 von 37
Beitrag ID: #419435
Bewertung:
(25845 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,
auf Dich ist einfach Verlass. Es funktioniert erstklassig.

Danke
Uwe


als Antwort auf: [#419433]

Ordner überwachen

Hans Haesler
  
Beiträge gesamt: 5826

31. Mär 2005, 14:44
Beitrag # 4 von 37
Beitrag ID: #419436
Bewertung:
(25845 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

bitteschön! :-)

Nachzutragen ist noch, dass ich als Grundlage das Mail-Script "Create New Message" von Apple
genommen habe. Ohne diese Vorlage hätte ich noch lange nach der richtigen Syntax suchen müssen.

Gruss, Hans


als Antwort auf: [#419433]

Ordner überwachen

Anonym
Beiträge gesamt: 22827

1. Apr 2005, 09:37
Beitrag # 5 von 37
Beitrag ID: #419437
Bewertung:
(25845 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Hans,
da habe ich die Rechnung ohne den Wirt gemacht. Die Bestandteile, die in den Ordner fallen, habe unter umständen so lange Namen, das der Mac sie nicht erkennt. Die Länge der Namen kann ich nicht ändern; sie werden von einem BDE-System generiert. Ich werde mal nach einer Möglichkeit suchen, es mit einem Windows-System zu erledigen.
Confused. Die Windows Systeme zeigen mir die lnangen Dateinamen an.
Gruß
Uwe :?


als Antwort auf: [#419433]

Ordner überwachen

Hans Haesler
  
Beiträge gesamt: 5826

1. Apr 2005, 09:49
Beitrag # 6 von 37
Beitrag ID: #419438
Bewertung:
(25845 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

dann gib doch mal dem Wirt den Tarif durch! ;-) Zu lange Namen machen immer wieder Probleme.
Würdest Du mir bitte gelegentlich per Mail ein paar Muster von diesen zu langen Namen senden?
Und – falls möglich – eine Angabe, wo denn die Grenze liegt (31 Zeichen?).

Gruss, Hans


als Antwort auf: [#419433]

Ordner überwachen

Anonym
Beiträge gesamt: 22827

2. Jun 2005, 13:16
Beitrag # 7 von 37
Beitrag ID: #419439
Bewertung:
(25845 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

besteht auf diesem Wege auch die Möglichkeit eine Mail zu versenden, wenn ein Ordner (mit Inhalt) in den zu überwachenden Ordner fällt. Es wird nur eine Benachrichtigung benötigt, kein Attachment.

Grüße
Uwe


als Antwort auf: [#419433]

Ordner überwachen

Hans Haesler
  
Beiträge gesamt: 5826

2. Jun 2005, 14:59
Beitrag # 8 von 37
Beitrag ID: #419440
Bewertung:
(25845 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

ja, das ist machbar. Im Script ist schon ein Test eingebaut, welcher feststellt, ob es sich um eine Datei
handelt. Diesen Test kann man mit 'else' ergänzen und einen entsprechenden Handler aufrufen:
---
property msgName : "Adressat"
property msgAddress : "<abc@def.de>"
property msgBody1 : "Datei"
property msgBody2 : "Ordner"
property msgSender : "Absender <abc@def.de>"

on adding folder items to thisFolder after receiving fileList
   repeat with aFile in fileList
      set filePath to (aFile as string)
      if not (filePath ends with ":") then
         set aName to name of (info for (file filePath))
         sendFile(aName, aFile)
      else
         set aName to name of (info for (file filePath))
         sendFile(aName)
      end if
   end repeat
end adding folder items to

on sendFile(msgSubject, msgAttachment)
   tell application "Mail"
      set newMessage to make new outgoing message with properties &not;
         {subject:msgSubject, content:msgBody1 & return & return}
      tell newMessage
         set visible to true
         set sender to msgSender
         make new to recipient at end of to recipients with properties {name:msgName, address:msgAddress}
         tell content
            make new attachment with properties {file name:msgAttachment} at after the last paragraph
         end tell
      end tell
      activate
      save newMessage
      send newMessage
   end tell
end sendFile

on sendMessage(msgSubject)
   tell application "Mail"
      set newMessage to make new outgoing message with properties &not;
         {subject:msgSubject, content:msgBody2 & return & return}
      tell newMessage
         set visible to true
         set sender to msgSender
         make new to recipient at end of to recipients with properties {name:msgName, address:msgAddress}
      end tell
      activate
      save newMessage
      send newMessage
   end tell
end sendMessage

---
Es sollte funktionieren (habe es aber nicht getestet).

Im Moment wird &#150; gleich wie bei der Datei &#150; der Name des Ordners in das Betreff-Feld gesetzt.
Für die Meldung bei den Properties 'msgBody1' und 'msgBody2' die beiden Platzhalter ("Datei", "Ordner")
durch den gewünschten Text ersetzen.

Gruss, Hans


als Antwort auf: [#419433]

Ordner überwachen

Anonym
Beiträge gesamt: 22827

2. Jun 2005, 15:25
Beitrag # 9 von 37
Beitrag ID: #419441
Bewertung:
(25845 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

wenn ich einen Ordner kopiere passiert nichts.Bei einzelnen Dateien läuft es wie gewohnt.

Uwe


als Antwort auf: [#419433]

Ordner überwachen

Hans Haesler
  
Beiträge gesamt: 5826

2. Jun 2005, 16:08
Beitrag # 10 von 37
Beitrag ID: #419442
Bewertung:
(25847 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

ja, klar. Entschuldige bitte. Ich habe beim Aufruf des zweiten Handlers den Namen
nicht angepasst ('sendMessage' statt 'sendFile'). Hier nochmals die korrigierte Version.
---
on adding folder items to thisFolder after receiving fileList
   repeat with aFile in fileList
      set filePath to (aFile as string)
      if not (filePath ends with ":") then
         set aName to name of (info for (file filePath))
         sendFile(aName, aFile)
      else
         set aName to name of (info for (file filePath))
         sendMessage(aName)
      end if
   end repeat
end adding folder items to
---

Gruss, Hans


als Antwort auf: [#419433]

Ordner überwachen

Anonym
Beiträge gesamt: 22827

2. Jun 2005, 16:15
Beitrag # 11 von 37
Beitrag ID: #419443
Bewertung:
(25845 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke Hans,
perfekt wie immer.

Uwe


als Antwort auf: [#419433]

Ordner überwachen

chewy
Beiträge gesamt: 156

12. Jun 2013, 16:00
Beitrag # 12 von 37
Beitrag ID: #513782
Bewertung:
(24925 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich muss leider diesen Thread einmal aus der Versenkung holen. Das Script benutze ich schon, um eine Reihe von FTP-Ordnern auf Dateneingang zu überwachen. Wenn eine Datei oder ein Ordner hochgeladen wird gibt es eine Mail an eine zentrale Adresse.

Soweit, so gut. Nun habe ich den Dateinamen als Betreff der Mail, kann ich denn zusätzlich noch den Ordnernamen vom überwachten Ordner anhängen im Betreff?

"Ordner X - Beispieldatei.jpg hochgeladen" für hochgeladene Dateien
"Ordner X - Beispielordner hochgeladen" für hochgeladene Ordner

Und wie würde diese Erweiterung dann aussehen?

Vielen Dank schonmal im Voraus :)

Gruß, Tobias.


als Antwort auf: [#419442]

Ordner überwachen

RBL
Beiträge gesamt: 5

15. Dez 2016, 07:25
Beitrag # 13 von 37
Beitrag ID: #554527
Bewertung:
(21514 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Morgen Hans,
mit viel Freude habe ich gestern diesen genau passenden Script gefunden! Ich habe AppleScript oder ähnliches bisher nicht benutzt... Vielen Dank für dieses Lösung. Damit werden einzelne Mails mit dem richtigen Betreff an den richtigen Empfänger gesendet. Nur - der Anhang fehlt - es sind .pdf.
Jetzt arbeite ich heute unter 10.12.1, vielleicht liegt es daran.
Die Mails gehen aus Mail raus (Outlook funktioniert nicht)
Was muss ich hier ändern? Diese Funktion wäre so wunderbar.
Grüsse, Renate


als Antwort auf: [#419442]

Ordner überwachen

Hans Haesler
  
Beiträge gesamt: 5826

15. Dez 2016, 08:15
Beitrag # 14 von 37
Beitrag ID: #554529
Bewertung:
(21497 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Morgen Renate,

herzlich willkommen im AppleScript-Forum auf HDS! :-)

Bitte sehr. Das ist ja ein uraltes Script, welches Du da ausgegraben hast ...

Doch ich verstehe das Problem nicht ganz. Hat es gestern funktioniert (abgesehen vom fehlenden Anhang)? Unter Mac OS X 10.11.x?

Und heute – unter Mac OS X 10.12.1 klappt es nicht mehr?

Hauptsächlich benutze ich 10.9.5 und ab und an 10.10. Aber "El Capitan" und "Sierra" habe ich nicht installiert.

Zudem müsste ich das Script erst mal ausprobieren ...

Gruss, Hans


als Antwort auf: [#554527]

Ordner überwachen

RBL
Beiträge gesamt: 5

15. Dez 2016, 09:52
Beitrag # 15 von 37
Beitrag ID: #554531
Bewertung:
(21456 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,
und wie froh war ich, das alte Script zu finden. Es funktioniert nämlich, bis auf den fehlenden der Anhang. Und da hoffe ich, dass es einen Weg geben wird.
Kann es sein, dass am Anfang die "property" Attachment beschreiben werden muss? So siehts bei mir aus.

property msgName : "Buchhaltung"
property msgAddress : "<xxx.de>"
property msgBody : "an Collmex"
property msgSender : "me <info@xxx>"

on adding folder items to thisFolder after receiving fileList
repeat with aFile in fileList
set filePath to (aFile as string)
if not (filePath ends with ":") then
set aName to name of (info for (file filePath))
sendFile(aName, aFile)
else
set aName to name of (info for (file filePath))
sendFile(aName)
end if
end repeat
end adding folder items to

on sendFile(msgSubject, msgAttachment)
tell application "Mail"
set newMessage to make new outgoing message with properties ¬
{subject:msgSubject, content:msgBody & return & return}
tell newMessage
set visible to true
set sender to msgSender
make new to recipient at end of to recipients with properties {name:msgName, address:msgAddress}
tell content
make new attachment with properties {file name:msgAttachment} at after the last paragraph
end tell
end tell

activate
save newMessage
send newMessage
end tell
end sendFile

Ich probier hier gerne alles aus.

Gruss, Renate


als Antwort auf: [#554529]
X