Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>AppleScript Rätsel

AppleScript Rätsel

fadenschein20.04.1721:24
Hallo, ich verwende folgendes (siehe unten) AppleScript, um mehrere in Mail.app markierte Mails einzeln auf der Festplatte als 'reine Datei' zu exportieren.
Klappt bestens.

aber

Nun habe ich das Script auf einem anderen Rechner installiert und dort klappt es nicht, wenn ich E-Mail im Eingangsordner markiere. Es kommt dann folgende Fehlermeldung:

error "„Mail“ hat einen Fehler erhalten: „mailbox \"INBOX\" of account \"posteingang\"“ kann nicht gelesen werden." number -1728 from mailbox "INBOX" of account "posteingang"

Wenn ich stattdessen E-Mail markiere, für die ich in der Mail.app einen Ablageordner angelegt habe, funktioniert das Skript.
Der Ursache bin ich noch nicht auf die Schliche gekommen: sowohl auf meinem, als auch auf dem anderen Rechner handelt es sich um POP Accounts. Der einzige Unterschied ist, dass ich auf meinem Rechner mehrere POP Accounts sind und auf dem anderen Rechner nur einer. Aber daran kann es ja nicht liegen? Hat jemand eine Idee?

Danke für Tipps
Fadenschein


Das Script:
global theFile

set ptd to choose folder

tell application "Mail"
set theMessages to selection
repeat with theMessage in theMessages
set theText to source of theMessage
set theSubject to (subject of theMessage) -- as string
if theSubject is "" then set theSubject to "kein betreff"
if theSubject contains ":" then ¬
set theSubject to my snr(theSubject, ":", "_")
set theFile to ((ptd & theSubject) & ".eml") as string
my resolveConflict(ptd, theSubject)
set theFileID to open for access file theFile with write permission
write theText to theFileID
close access theFileID
end repeat
display dialog "Es wurden " & length of theMessages & " Nachrichten exportiert."

end tell

on resolveConflict(ptd, theSubject)
tell application "Finder"
set theCounter to 1
set noConflict to false
repeat until noConflict
if exists file (theFile) then
set theFile to (((ptd & theSubject) & " -" & theCounter as string) & ".eml")
set theCounter to theCounter + 1
else
set noConflict to true
end if
end repeat
end tell
end resolveConflict

on snr(theString, searchString, replaceString)
tell (a reference to my text item delimiters)
set {oldTID, contents} to {contents, searchString}
set {theString, contents} to {theString's text items, replaceString}
set {theString, contents} to {theString as Unicode text, oldTID}
end tell
return theString
end snr
0

Kommentare

schlawuzelbaer21.04.1701:06
Läuft auf beiden Rechnern die gleiche AppleScript-Version?
0
fadenschein21.04.1708:50
Ja, Version 2.5
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.