Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: jr am 18.06.03 - 10:05:56
-
Hallo zusammen,
ich habe ein kleines Problem mit dem verschicken von Dokumenten. Wenn ich eine Person als Adresse angeben klappt alles einwandfrei, aber wenn es eine Gruppe ist, gibt es einen "User defined Error".
Das Script ist recht lang, aber im Prinzip kann man es auf die folgenden Zeilen reduzieren:
...
doc.SendTo = "GRUPPE"
doc.subject = "Testmail"
call doc.ComputeWithForm(false, false)
call doc.Send(False)
All zu viel kann ich da eigentlich nicht verkehrt machen. Wie gesagt, wenn ich anstatt "GRUPPE" eine Personenadresse eingeben (z. B. "TESTUSER/ORG") funktioniert alles.
Kann mir jemand einen Tip geben? Ich weiß, dass ich das schon einmal gemacht habe, aber im Moment fällt mir einfach nichts ein.
Im Voraus vielen Dank,
JR
-
Wo läuft das Ding den ? Ist das ein Servergestützer Agent oder eine Funktion, die auf dem Client läuft ?
Meff
-
Hallo,
das Ganze ist ein einer BackEnd-Scriptbibliothek. Diese wird entweder durch einen periodischen Agenten benutzt werden oder aber auch per Knopfdruck bei einem Anwender.
Im Moment geht es erst einmal um die "FrontEnd-Variante", also der Benutzer drückt auf den Knopf und der Fehler kommt.
Gruß,
JR
-
Hast Du den Script mal Debuggt ? Du schreibst, der Fehler kann eigentlich nur an dieser Stelle auftreten. Geh doch mal mit dem Debugger durch das Ding und schaue, wann er in den Fehler läuft.
Meff
-
Ja klar, mit dem Debugger bin ich auf Du und Du ;-). Der Fehler taucht genau beim doc.Send(False) auf. Und wie gesagt, wenn in SendTo ein Name steht, tut alles, nur bei Gruppen geht's nicht.
JR
-
Eigentlich sollte die Gruppe kein Problem machen. Nimm doch bitte mal den "ComputeWithForm" raus, bei einem normalen Mail benötigst Du den nicht, vielleicht verursacht der das Problem.
Meff
-
Nein, habe ich leider auch schon probiert. Das Ergebnis ist das Gleiche.
Ich vermute, dass Notes die Gruppe nicht auflösen kann. Vielleicht findet es nicht das Adressbuch, oder es weiß aus einem anderen Grund nicht, dass es eine Gruppe ist. Ich habe es auch mit verschiedenen Gruppentypen versucht (multipurpos, mail only, ...) - nützt alles nichts.
Wenn es gar nicht anders geht, müsste ich die Gruppe halt auflösen. Da könnte es dann aber passieren, dass zu viele Einträge im Mail sind, außerdem wird der Header dann unverhältnismässig groß. Das Blindkopie-Feld wiederum hat das Problem, dass viele das Mail gar nicht lesen, wenn sie nur im Blindkopie auftauchen.
Es ist ein echtes Dilemma. Mit Standardmails funktioniert es ja auch und ich kann mir nicht vorstellen, dass das mit Script nicht funktioneren soll. Irgend etwas mache ich falsch oder habe ich vergessen. :(
Gruß,
JR
-
Kannst Du mir den Script mal schicken (mailto:mgs@groupcom.de), dann kann ich mir das Ding mal anschauen.
Wo steht die Gruppe eigentlich ? Im pers. Adressbuch oder im öffentlichen ?
Meff
-
OK. Ich habe die wesentlichen Teile des Codes zusammengefasst und in einen Knopf programmiert und der Fehler taucht auch hier auf. Diese Code kann man direkt kopieren:
Sub Click(Source As Button)
Dim session As New NotesSession
Dim ws As New NotesUiWorkspace
Dim db As NotesDatabase
Set db = session.CurrentDatabase
Dim mail As New NotesDocument(db)
Dim body As New NotesRichTextItem(mail, "Body")
mail.SendTo = ".A.ADMIN"
mail.Subject = "Dies ist ein Testmail"
mail.Form = "Memo"
Call body.AppendText("Dokument: ")
Call body.AppendDocLink(ws.CurrentDocument.Document, "Dokument bearbeiten")
If ((mail.Form(0) <> "") And (mail.SendTo(0) <> "")) Then
Call mail.ComputeWithForm(False, False)
Call mail.Send(False)
End If
End Sub
Wäre echt klasse, wenn du mir hier weiterhelfen könntest.
Im Voraus vielen Dank,
JR
-
Hi jr,
ich probiere es gleich mal aus, allerdings noch mal die Frage, in welchem Adressbuch befindet sich die Gruppe ?
Meff
-
Notes 6 ist schon was schönes. Da kommen wenigesten anständige Fehlermeldungen.
Also : Wenn Du den Script auf dem Client laufen lässt und die Gruppe befindet sich im öffentlichen Adressbuch, dann erhalte ich eine entsprechende Fehlermeldung. Wenn die Gruppe im pers. Adressbuch ist, dann funtzt das einwandfrei.
Meff
P.S.: Ich werde aus dem Ding jetzt noch mal einen Agent machen, der auf dem Server läuft, mal sehen ob da was anderes passiert.
-
Die Gruppe liegt im globalen Adressbuch names.nsf auf dem gleichen Server wie die Datenbank, in der das Skript steht. Die Zugriffsrechte sind in Ordnung.
Ich bin ja schon mal froh, dass der Fehler auch bei dir auftritt.
Das ist aber seltsam, dass die Gruppe im lokalen Adressbuch sein muss. Dann müsste ich sie vor dem versenden erst in das lokale Adressbuch kopieren? Mit "normalen" Mails aus der Mail-Datenbank klappts auch, aber da finde ich auch nichts außergewöhnliches.
Vielen Dank für die Hilfe,
JR
-
Hab's jetzt auch einmal mit Notes6 versucht und die Fehlermeldung lautet:
Notes Error: No mail sent
Ist aber auch nicht besonders aussagekräftig... ;)
JR
-
Mit lokalen Gruppen habe ich es jetzt probiert und es funktioniert auch. Aber nur, weil die Gruppen jetzt direkt aufgelöst werden. Im Mail-Kopf erscheint dann die geanze Liste der Gruppenmitglieder. Das ist dann genauso, wie wenn ich die Gruppe direkt auflösen würde, und genau das möchte ich ja verhindern.
JR
-
Moment, dass ist aber immer so, wenn Du an eine Gruppe aus Deinem lokalen Adressbuch was versendest. Der Router (=Server) kennt diese Gruppe ja schließlich nicht, daher muss das Ding aufgelöst werden.
Meff
-
Das ist mir schon klar. Aber wie gesagt: Die Gruppe ist ja aus dem globalen Adressbuch und die werden üblicherweise nicht aufgelöst, sondern stehen mir ihrem Namen im Mail-Header.
Erst durch das Kopieren der Gruppe in das lokale Adressbuch wird diese dann aufgelöst. Aber da man in der Mail-Datenbank Mails an Gruppen des globalen Adressbuchs verschicken kann muss das doch auch für andere Mails funktionieren, oder begehe ich da einen Denkfehler?
JR
-
häng die Domäne hintendran und dann sollte sich Notes nicht um die Auflösung scheren, weil Du ihn zwingst, die Domöne direkt anzubimmeln..
also statt
mail.send = Gruppe
=>
mail.send = Gruppe@ABC
Test mal, ob das so funzt
-
@Rob
und wie soll das gehen, die Gruppe befindet sich im lokalen Adressbuch auf dem Client, der Server kann damit gar nichts anfangen.
Meff
-
hiess es nicht:
"Die Gruppe liegt im globalen Adressbuch names.nsf auf dem gleichen Server wie die Datenbank, in der das Skript steht. Die Zugriffsrechte sind in Ordnung."
-
STOP! Es geht um Gruppen im globalen Adressbuch! Vergesst das mit den lokalen Gruppen einfach.
Das mit der Domäne hinten anhängen habe ich auch schon probiert, klappt aber auch nicht. Es kommt zwar keine Fehlermeldung mehr, aber die Mail wird trotzdem nicht ausgeliefert.
Gruß,
JR
-
ok :)
Umgehungsstraße: kannst Du die Gruppe nicht manuell auflösen? Ich weiß.....
-
Könnte ich schon. Aber...
Die Gruppen können gigantisch viele Mitglieder enthalten. Der Mailkopf wäre dann ewig groß und das sieht nicht schön aus. Wenn es aber keine andere Lösung gibt, muss ich wohl in den sauren Apfel beißen.
Gruß,
JR
-
Und diese Gruppe lässt sich nicht in das öffentliche Adressbuch packen ? Dann gibt es nämlich keine Probleme.
Meff
-
Die Gruppe ist doch im öffentlichen Adressbuch.
JR
-
Upps, hatte ich irgendwie überlesen. Muss nochmal testen.
Meff
-
Holla, ich glaube ich habe etwas gefunden: Es scheint an der Gruppe zu liegen. Derjenige, der die Aktion ausführt bekommt keine Mail, auch wenn er in der Gruppe enthalten ist. Alle anderen bekommen aber eine Mail. Und weil die Testgruppen immer nur mit einem Namen, nämlich meinen, gefüllt waren, gab das dann diesen Fehler. Ich vermute, dass das bei dir (Meff) genau so war, du hast eine Testgruppe angelegt und dich selbst eingetragen. Dann findet Notes keinen Adressaten mehr und es gibt diese Fehlermeldung.
Ich muss das jetzt gleich einmal an meinen Kunden weitergeben, ich vermute, dass er genau das gleiche Testszenario durchgeführt hatte und deshalb ebenfalls keine Mails verschickt wurden.
Ich werde jetzt noch ein bisschen testen. Aber wenn es wirklich so ein einfacher Fehler war... knurr :'( :'( :'(
Vielen Dank, dass ihr mir geholfen habt.
Gruß,
Joachim
-
hm..obwohl das jetzt auch komisch ist. Ich kannmich doch in eine Gruppe eintragen und auch selbst anmailen. Und bei Dir macht Script Ärger, nur weil Du selbst in einer Gruppe drin warst. Monkey Island 1: drehen sie links, dann rechts, dann links, links, gerade, vor, zurück, links... ;D
-
Hi,
das ist kein Bug sondern ein Feature:
Wenn der Absender in der Gruppe ist, bekommt der kein Mail.
Auszug aus der Knowledge Base:
The sender's name is not included in the Recipients field if the group is located in the Domino Directory (in Notes 5.x) or the Public Name and Address Book (in Notes 4.x and 3.x). For private groups (located in the private Address Book), the sender's name is included in the Recipients field.
If you wish to receive a copy of the memo when sending to groups located in the Public N&A Book, include your name in the To: (SendTo), cc: or bcc: field.
Gruß
Andreas
-
Hhhhmmm. Vielleicht habe ich ja eine besonders seltsame Konfiguration meines Servers? Aber bei mir ist das auch in der Mail-Datenbank so mit anderen Namen. Ich selbst bekomme keine Mail, auch wenn ich in der Gruppe stehe. Und wenn die Gruppe nur aus mir besteht bekomme ich die Fehlermeldung
"No names found to send mail to" bzw.
"Keine Namen gefunden, an die die Mail gesendet werden kann".
Sowohl unter Notes 5 als auch unter Notes 6 (Client).
JR
-
danke Glombi für die Auskunft (*notiert sich das Fieture*) :)
-
Aha, da war ich wieder zu langsam.
Also ein typischer UTS*-Error meinerseits.
Gruß,
JR
* UTS-Error: User to stupid-Error
-
Da kann man sich ja dämlich suchen........aber genau das hatte ich getestet. Ich liebe diese Fehlermeldungen in Notes und dachte zuerst, in R6 wären die besser geworden.
Danke für den Tipp
Meff