Domino 9 und frühere Versionen > Entwicklung
Mail Forward Agent
zhermann:
Hallo Leute,
hatt jemand von Euch schonmal einen Mail Forward Agenten geschrieben.
Habe folgendes Problem:
Wir haben eine USergroup, die auch von Externen genutzt wird.
Der Agent soll nachdem eine Mail eingegangen ist, prüfen ob der Absender in der Liste ist und die Mail dann an die Gruppe versenden.
Habe es schon über Rules versucht, da kann ich aber die Prüfung nicht einbauen.
Wie ich mails verschicke über einen Agentenist mir schon klar, nur wie bekomme ich raus, welches eingehende Mail/Dok. hat jetzt den Agenten ausgelöst?
Hat da eine eine Idee??
Gruß Zsolt Hermann
Till_21:
es gibt einen eventgesteuerten agenten der sich "after new mail arrived" nennt...
bei fragen, diese bitte stellen
gruss
zhermann:
Hi,
dieses Ereignis ist mir wohl bekannt.
Meine Frage ging aber dahin, wie ich meinem Agenten übergeben kann, welches das Aufrufende Dokument ist.
Habe es aber glaube gefunden: Notesdocument = NotesSession.DocumentContext
Damit komme ich an das eingegangene Mail und kan die Werte darin weiterverarbeiten.
Gruß Zsolt Hermann
zhermann:
Meine Ansätze funktionieren nicht.
Habe eine Agenten kreiert mit dem Namen "Mailusergroup" mit der Option "After new mail has ..."
Der Code Sieht folgendermaßen aus:
Sub Initialize
Dim sess As New NotesSession
Dim Db As NotesDatabase
Dim Mail_In_Doc As NotesDocument
Dim Mail_out_Doc As NotesDocument
Dim ConfigDoc As NotesDocument
Dim Item As NotesItem
Dim MailFrom As String
Dim MailList As Variant
Set db = sess.CurrentDatabase
Set ConfigDoc = db.GetProfiledocument("(UserGroupList)" )
Set Mail_In_doc = sess.DocumentContext
MailFrom = Ucase( Mail_in_Doc.GetItemValue("SMTPOriginator") (0))
If Not(ConfigDoc Is Nothing) Then
MailList = Ucase(ConfigDoc.GetItemValue("Userlist") (0))
If Instr(1, MailList, MailFrom) Then
Set Mail_out_doc = db.CreateDocument
With Mail_Out_Doc
.Form = "Memo"
.BlindCopyTo = ConfigDoc.GetItemValue("Userlist") (0)
.Subject = Mail_In_Doc.GetItemValue("Subject") (0)
Set Item = Mail_In_Doc.GetFirstItem("Body")
Call .CopyItem(Item, "Body")
Call .Save(True, True)
Call .Send(True)
End With
End If
End If
End Sub
Der Agent scheint zu anzulaufen, aber im log erscheint immer die Meldung "AMgr: Agent ('MailUsergroup' in 'Administration\UserGrou.nsf') error message: Object variable not set"
Wenn ich den Agenten per Hand starte funktiotioniert er soweit, das keine Fehlermeldung hoch kommt. Das Mail wird gespeichert aber nicht versendet.
Woran liegt es. Es darf im Feld Sendto, oder CC nicht enthalten sein.
Gruß Zsolt hermann
ata:
... ich vermute am documentContext liegt es. Wenn du manuell startest ist das Dokument aktuell geöffnet - und damit verfügbar...
... wird der Agent zeitgesteuert, dann gibt es kein documentContext´in der Session...
ata
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln