Mail und Applescript

thrill-house

thrill-house

Aktives Mitglied
Thread Starter
Dabei seit
02.08.2005
Beiträge
594
Reaktionspunkte
0
Hallo,
ich habe ne Frage, bzw. ein Problem.
Ich brauche ein Script dass mir bestimmte Sachen aus ein paar emails abfragt (Absender, Empfänger, Datum, Mailtext und evtl. Anhänge) und das dann in Pages verwenden. Und zwar aus folgendem Grund:
Der PC meiner Freundin hat es hinbekommen (wie auch immer) ihr alle Emails zu löschen auch alle von mir. Das hat sie sehr traurig gemacht und ich meinte zu ihr dass ich mich darum kümmer. Jetzt will ich ihr eine kleine Freude machen und ihr alle Mails (von mir, ca. 130 Stk) ausdrucken, und zwar nicht im spartanischen Mail Design sondern mit nem vorgefertigten Template in Pages. Also mit bissle Farbe und so (Mailnummer usw.) wie ne Art Buch, gibts ja schon zum kaufen von irgendwelchen Autoren...

Frage(n):
1. Ist das möglich?
2. Wenn ja wie?
3.Kann mir da vielleicht jemand helfen?

Ich weiß dass sowas den Automator überlastet und dass deshalb mit AppleScript gemacht werden muss, aber ich weiß leider nicht wie.
Für Vorschläge, Anregungen und Hilfe wäre ich sehr dankbar.

Gruß Stefan
 
thrill-house schrieb:
Ich weiß dass sowas den Automator überlastet und dass deshalb mit AppleScript gemacht werden muss
Hallo!

Wirklich? Shit, wozu ist dann dieser Automator überhaupt gut?

Ich bin gespannt, wie es mit Apple Script geht.

Gruß
Manjo
 
Hat keiner irgendwie ne ansatzweise Lösung oder so?
 
Das ist bestimmt möglich. Am besten ist aber, Du fängst mal damit an und stellst dann bestimmte Fragen.

Alex
 
Kannst Du deine Anforderungen etwas präzisieren?
z.B.: Sind die Mails alle im selben Ordner (vermutlich Outbox, weil ja von dir geschickt)?

Grüße,
Flo
 
Also die Mails sind alle in meinem "gesendet" Ordner. Ich benutze 'Mail', ich möchte dass das Skript mir den Betreff, das Datum und den Text mit evtl. Bilder im Anhang ausliest, damit ich sie danach in Pages benutzen kann. Also dass dann alles wie so eine Art Buch geschrieben ist, mit ner schönen Grafik im Kopf wo Betreff und Datum und von, an und die Mailnr (also die Seitenzahl) und drunter dann der Text der Mail
 
Mal so als Anregung:

Code:
tell application "Mail"
	set a to get every message of sent mailbox whose sender is "Absendername <absender@adresse.de>"
end tell

repeat with i from 1 to the count of a
	set this_msg to (item i of a)
	tell application "Mail"
		set the_Sender to name of recipient of this_msg as string
		set the_Empfaenger to name of recipient of this_msg as string
		set the_Datum to date sent of this_msg as string
		set the_Text to the content of this_msg as string
	end tell
end repeat

Auf die Art lassen sich alle von dir geschickten Mails nach bestimmten Paramtern durchsuchen, bzw. die Parameter in Variablen schreiben (repeat-Schleife) die sich anderweitig (habe leider kein Pages) weiterverwenden lassen.
Per entsprechender Abfrage kannst Du das Ergebnis von a z.B. noch auf die Mails reduzieren die an deine Freundin gegangen sind, und dann erst die repeat-Schleife zum Parameter extrahieren starten.

Grüße,
Flo
 
Hey das sieht doch mal gut aus danke. Wie kann ich denn nun die Mails in a noch so sondieren dass nur noch die meiner freundin drin sind?
Mach ich dann wieder:

tell application "Mail"
set b to get every message of a whose Empfaenger is "name <name@adresse.de>"
end tell

???
 
thrill-house schrieb:
...Wie kann ich denn nun die Mails in a noch so sondieren dass nur noch die meiner freundin drin sind?
Mach ich dann wieder:

tell application "Mail"
set b to get every message of a whose Empfaenger is "name <name@adresse.de>"
end tell

???

Ich würde aber nicht einzelne die einer bestimmten Bedingungen entsprechen schon wieder sortieren, sondern einfach in der Liste die weitere Bearbeitung eines jeden Datensatzes von einer bestimmten Bedingung abhängig machen:

Code:
tell application "Mail"
	set a to get every message of sent mailbox whose sender is "Absendername <absender@adresse.de>"
end tell

repeat with i from 1 to the count of a
	set this_msg to (item i of a)
	tell application "Mail"
		set the_Empfaenger to name of recipient of this_msg as string
		if the_Empfaenger is equal to "Name der Freundin <mailadresse@der_freundin.de>" then
			weiterverarbeiten
			if the_Empfaenger is not equal to "Name der Freundin <mailadresse@der_freundin.de>" then 
			mach was anderes
		else
			mach was anderes
		end if
	end tell
end repeat


Grüße,
Flo
 
Zurück
Oben Unten