macos

macOS - automatisiert E-Mails versenden mit AppleScript

Von peter portmann,

Veröffentlicht am 31. März 2026   â€”   3 min Lesezeit

codetoolscomputer
Gemini Nano Banana
🤖
KI halluziniert oft und nervt zeitweise gewaltig. Manchmal funktioniert es aber auf Anhieb richtig gut. Das Header-Bild und der AppleScript Code für diesen Blog konnte mit je einem Prompt erzeugt werden. Ein Versuch. Keine Korrekturen nötig. Funktionierte tadellos. Ich verwende AppleScript schon seit ewigen Zeiten. Der Aufwand um ein lauffähiges Skript zu erzeugen ist mit den aktuellen KI-Modellen nun minimal geworden. Für dieses Beispiel habe ich Gemini ohne Abo verwendet.

Prompt fĂĽr das Headerbild

PROMT
erstelle mir ein cooles headerbild im format 4x3 fĂĽr einen
beitrag ĂĽber applescript

Datenschutz

Ist Gemini ohne Abo wirklich gratis? Wohl eher nicht. Mir kommt die Redewendung No such thing as a free lunch in den Sinn, die im Kern bedeutet: Nichts ist wirklich umsonst.

Die versteckte Gegenleistung sind deine Daten. Ein Sprachmodell benötigt zwingend Daten für das Training. Mit der Nutzung eines Cloud‑Modells sind deine Daten quasi öffentlich.

Das darf mit Kundendaten auf keinen Fall passieren, auch wenn es sich nur um eine E‑Mail‑Adresse handelt. KAFORMATIK habe ich bewusst nicht anonymisiert, die Firma soll gefunden werden und darf daher auch vom Sprachmodell verarbeitet werden.

Für sensible Daten ist die Verwendung von lokaler, isolierter KI somit Pflicht. Oder man wählt einen Anbieter mit hohem Sicherheitsstandard und einem Datenstandort in der Schweiz.

Im vorliegenden Beispiel kann die Anfrage generisch formuliert werden, so werden keine sensiblen Daten preisgegeben. Anschliessend werden die Platzhalter im Skript ersetzt.

Es gibt auch Anbieter, welche mit Filtern arbeiten und persönliche Daten so anonymisieren. Diese Technik müsste aber mindestens einer umfassenden Überprüfung unterzogen werden. Im Moment gibt es da noch viel Luft nach oben.


AppleScript Anwendung


Software-Test: automatisierter E-Mail Versand von verschiedenen Konten

Für die Fehlersuche bei einer Software suchte ich heute nach einer Lösung, um einen Stapel E-Mails von möglichst verschiedenen Providern zu versenden, damit wir das Verhalten einer Anwendung testen konnten.

Auf Handarbeit hatte ich keine Lust. Also mal vorsichtig Gemini gefragt. Der vorgeschlagene Code funktionierte wunderbar. So konnte das Problem schnell lokalisiert und behoben werden.

Eine Automatisierung mit Python wäre auch möglich. Da aber AppleScript direkt Zugriff auf die E-Mail-Konten hat, muss keine Konfigurierung für die Provider erfolgen. Schneller geht es wohl kaum.

PROMPT
Wie kann ich unter macOS 50 identische E-Mails mit
AppleScript generieren?
- Absender konfigurierbar
- Titel mit Zeitstempel DD.MM.YYYY HH:MM
- Folgende E-Mail Adressen im einem Array
  ([email protected], [email protected], [email protected],
  [email protected], [email protected])
- Sende die Nachricht von der ersten, dann von der zweiten etc,
  dann wieder von vorne

Skripteditor

AppleScript Code

set emailList to {"[email protected]", "[email protected]",
"[email protected]", "[email protected]", "[email protected]"}
set recipientAddress to "[email protected]"
set baseSubject to "TEST KAFORMATIK."
set emailBody to "TEST KAFORMATIK."
set listCount to count of emailList

repeat with i from 1 to 10
    -- Zeitstempel generieren (DD.MM.YYYY HH:MM:SS)
    set {year:y, month:m, day:d, hours:hr, minutes:min,
    seconds:sec} to (current date)

    -- Formatierung mit fĂĽhrenden Nullen
    set dd to text -2 thru -1 of ("0" & d)
    set mm to text -2 thru -1 of ("0" & (m as integer))
    set yyyy to y as string
    set HH to text -2 thru -1 of ("0" & hr)
    set MinS to text -2 thru -1 of ("0" & min)
    set SS to text -2 thru -1 of ("0" & sec)

    set fullTimestamp to dd & "." & mm & "." & yyyy & " " & HH &
    ":" & MinS & ":" & SS
    set dynamicSubject to baseSubject & " " & fullTimestamp

    -- Sender-Rotation
    set listIndex to ((i - 1) mod listCount) + 1
    set currentSender to item listIndex of emailList

    tell application "Mail"
        set newMessage to make new outgoing message with properties
        {subject:dynamicSubject, content:emailBody,
        sender:currentSender, visible:false}
        tell newMessage
            make new to recipient at end of to recipients
            with properties {address:recipientAddress}
            send
        end tell
    end tell

    delay 1
end repeat

Auf welche E-Mail-Konten hat AppleScript Zugriff?

So kann eine Liste aller verfĂĽgbaren E-Mail-Adressen erzeugt werden.

PROMT
Welche E-Mail Account erkennt AppleScript in meinem User?

tell application "Mail" to get email addresses of every account

Auf Facebook teilen Auf Linkedin teilen Auf Twitter teilen Per E-Mail senden

Newsletter abonnieren

Abonnieren Sie den Newsletter fĂĽr die neusten Nachrichten direkt in Ihrem Postfach.

einschreiben