Vielleicht fassen wir nochmal kurz zusammen, bevor bienemaja zusammenbricht:
Wenn das Dokument, das gerade geöffnet ist, verschickt werden soll, dann genügt dazu ein einfaches @MailSend (oder die Standardaktion Send Document, die es in jeder Maske gibt). Das setzt voraus, dass es in der Maske (genaugenommen in dem Dokument) zumindest das Feld SendTo mit der Mail-Adresse des Empfängers gibt.
Ist die Maske, mit der die Mail erstellt wurde, nicht die Standard-Memo-Maske, dann existiert sie in der Mail-Datenbank des Empfängers wahrscheinlich nicht, er kann die Mail also vermutlich nicht einfach öffnen und Lesen. In diesem Fall muss man die Maske mit dem Dokument speichern/versenden. In den Maskeneigenschaften muss also "Store form in document" ausgewählt sein. Das funktioniert aber nur, wenn das Dokument vor dem Senden bereits gespeichert ist, sonst hat es keine Form-Informtaionen.
Alternativ kann man @MailSend auch mit Parametern benutzen (siehe Hilfe), die Felder SendTo, Body etc. müssen dann im Dokument nicht unbedingt existieren (oder dürfen anders heißen). In dieser Variante wird das Mail immer mit der Maske "Memo" erzeugt (auch wenn "Store form in document" angehakt ist) und Notes übersetzt die Inhalte automatisch in die Standardfelder, die Mail-Clients erwarten (zugegeben, ich hab's nicht gewusst, sondern gerade ausprobiert).
Script benötigt man eigentlich nur dann unbedingt, wenn man ein zu versendendes Dokument "aus der hohlen Hand" erzeugen und über das Backend füllen möchte. So kann man Mails sogar völlig unabhängig vom gerade geöffneten Dokument erzeugen.
Wenn man trotzdem das gerade aktuelle Dokument versenden will, gilt im Prinzip dasselbe wie oben: Entweder müssen die benötigten Felder (mit den richtigen Namen) bereits im Dokument vorhanden sein, oder man muss sie per Script vor dem Versand einfügen (wie von Rob in seinem Beispiel hervorgehoben).
Auch hier gilt: Wenn das Dokument noch nicht gespeichert ist, besitzt es noch keine Form. Selbst wenn "Store form in documetn" angehakt ist, liefert doc.send(true) deshalb einen Fehler (es gibt keine Form, die mitgeschickt werden könnte). Es sei denn, man setzt wieder explizit im Script das Form-Feld auf den gewünschten Wert. (Aber wehe, man verschreibt sich beim Formname, dann kommt keine Warnung, aber da es die Maske dann nicht gibt, wird auch keine mitgeschickt.)
Der Parameter "True" in doc.Send(True) macht die Maskeneigenschaft "Save doc in form" überflüssig. Also eventuell doch ein Grund, Script zu benutzen, wenn mit dieser Maske auch Dokumente gespeichert werden sollen, bei denen das Mitspeichern der Maske unerwünscht ist.
So, war das jetzt wirklich eine kurze Zusammenfassung ???