Autor Thema: Mehrere Empfängeradressen für Mail in Backend  (Gelesen 1903 mal)

Offline sja

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Mehrere Empfängeradressen für Mail in Backend
« am: 20.08.04 - 14:45:02 »
Hallo,

folgendes Problem: hier unten ist Ausschnitt aus einer Script, wo soll eine Mail aus einem Frontend-Dokument uiDocA in einem Mail-Datenbank erstellt werden (Backend) und an Eingeladenen versendet werden.
Die Eingeladenen sind in einem Feld "SendTo" (NamensFeld, Mehrfachwerte zu lassen) in uiDocA gespeichert
Wenn da ist nur eine Mailadresse gespeichert, dann kein Problem, wenn mehrere, dann kommt Fehlermeldung "Mail kann nicht gesendet werden, keine Entsprechung in Adressbüchern gefunden". Ich habe versucht die var. Einladung als dynamische array zu definieren
Dim Einladung() As String
Einladung = uiDocA.FieldGetText("SendTo")(0)
und bekomme die Fehlermeldung: "Illegal reference to array or list: Einladung". Ich bin mit array nicht besonders vertraut.
Ich habe die Anträge in Forum schon durchgegangen, aber für meinen konkreten Fall habe nicht gefunden oder übersehen.

Vielen Dank im Voraus für jede Hilfe

Sub Click(Source As Button)
   Dim ws As NotesUIWorkspace   
   Dim db As NotesDatabase
   Dim uidb As NotesDatabase
   Dim uiDocA As NotesUIDocument
   Dim docM As NotesDocument
   Dim tmpSRV As String
   Dim tmpMAIL As String
   Dim Einladung As Variant

   Set ws = New NotesUIWorkspace
   Set uiDocA = ws.CurrentDocument

   tmpSRV = uiDocA.FieldGetText("srv_1")
   tmpMAIL = uiDocA.FieldGetText("MailDatei")
   Einladung = uiDocA.FieldGetText("SendTo")

   Set db = New NotesDatabase( tmpSRV, tmpMAIL )
   Set docM = db.CreateDocument
   Set item = docM.GetFirstItem( "SendTo")

   Call docM.ComputeWithForm( False, False )

   If (Einladung <> "") Then
      Call docM.Send( False, Einladung )
   End If
   Call docM.Save( True, True )
End Sub

Gruessen
Sofia


« Letzte Änderung: 20.08.04 - 15:37:01 von sja »

Glombi

  • Gast
Re:Mehrere Empfängeradressen für Mail in Backend
« Antwort #1 am: 20.08.04 - 14:52:20 »
Ändere die Zeile
   Einladung = uiDocA.FieldGetText("SendTo")
um in
 Einladung = uiDocA.Document.SendTo

Im folgenden musst Du aber auch anstelle von Einlad auch  Einladung verwenden!
Also:

If (Einladung <> "") Then
      Call docM.Send( False, Einlad )
   End If


Andreas
« Letzte Änderung: 20.08.04 - 14:53:21 von Glombi »

Offline sja

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Re:Mehrere Empfängeradressen für Mail in Backend
« Antwort #2 am: 20.08.04 - 15:16:51 »
Hallo Andreas,

vielen Dank für so schnelle Hilfe. Du bist immer so nett.

Habe das aufprobiert und bekam die Fehlermeldung "Type mismatch".

Gruessen
Sofia

Offline sja

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Re:Mehrere Empfängeradressen für Mail in Backend
« Antwort #3 am: 20.08.04 - 15:25:24 »
dann habe ich so ausprobiert

Einladung = uiDocA.Document.SendTo(0)

und die Mail wurde nur an ersten in der Liste gesendet

wenn so:
Einladung = uiDocA.Document.SendTo()
dann kommt die Meldung "Wrong number of array subscripts"

Offline pedsola

  • Aktives Mitglied
  • ***
  • Beiträge: 128
  • Geschlecht: Männlich
    • anders und sehr GmbH - Internetagentur und eCollaboration
Re:Mehrere Empfängeradressen für Mail in Backend
« Antwort #4 am: 20.08.04 - 15:27:18 »

Versuch es mal so:
Einladung = uiDocA.Document.SendTo

Ohne Klammer
Gruß
Pedro

Offline sja

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Re:Mehrere Empfängeradressen für Mail in Backend
« Antwort #5 am: 20.08.04 - 15:32:29 »
Hallo Batped,

das hat schon Andreas emfohlen und ich habe ausprobiert (s. oben).
In diesem Fall bekomme ich die meldung "Type mismatch".

Sofia
« Letzte Änderung: 20.08.04 - 15:38:12 von sja »

Glombi

  • Gast
Re:Mehrere Empfängeradressen für Mail in Backend
« Antwort #6 am: 20.08.04 - 15:38:41 »
"Type mismatch" darf eigentlich nicht sein. Schalte bitte mal den Debugger an und sieh nach, in welcher Zeile der Fehler ist.

Andreas

Offline sja

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Re:Mehrere Empfängeradressen für Mail in Backend
« Antwort #7 am: 20.08.04 - 15:45:10 »
der Fehler kommt in der Zeile

If (Einladung <> "") Then

aber ich weiss nicht was soll da anderes sein.

Glombi

  • Gast
Re:Mehrere Empfängeradressen für Mail in Backend
« Antwort #8 am: 20.08.04 - 15:48:01 »
Klaro, das geht nicht, es ist ja ein Array.
Also so:

If IsArray(Einladung) Then
 if Einladung(0) <> "" then
      Call docM.Send( False, Einladung )
 End If
End If

Andreas

Offline pedsola

  • Aktives Mitglied
  • ***
  • Beiträge: 128
  • Geschlecht: Männlich
    • anders und sehr GmbH - Internetagentur und eCollaboration
Re:Mehrere Empfängeradressen für Mail in Backend
« Antwort #9 am: 20.08.04 - 15:49:00 »

mmh, das scheint tatsächlich nicht ganz so einfach zu sein.
In anderen Foren wurde folgendes vorgeschlagen:

entweder eine Schleife um die ganzen Values im SendTo zu erhalten und einzeln rauszujagen:

Forall mailname In document.getfirstitem("SendTo").values
Call doc.Send( True, mailname )
End Forall
End If

oder

sendto$ = uidoc.FieldGetText("SendTo")
If Not(Isarray(sendto$)) Then
doc.SendTo = Evaluate(|@Trim(@Explode('| & sendto$ & |';','))|, doc)
Else
doc.SendTo = sendto$
End If

Versuchs mal damit...
Gruß
Pedro

Offline sja

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Re:Mehrere Empfängeradressen für Mail in Backend
« Antwort #10 am: 20.08.04 - 15:55:20 »
@Andreas,
genau das habe ich auch gerade ausprobiert und das hat geklappt!!!  :)

Vielen Dank @Andreas, @Batped für eure Hilfe.
Gruessen
Sofia

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz