Autor Thema: mein erstes Script...Walle Walle wehe wehe  (Gelesen 4725 mal)

Offline EUWE_MAX

  • Junior Mitglied
  • **
  • Beiträge: 73
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
mein erstes Script...Walle Walle wehe wehe
« am: 01.07.04 - 10:50:25 »
Mein erstes Script läuft natürlich nicht wie gewünscht...

Bei mir verhält es sich wie mit dem Zauberlehrling von Goethe.
Ich habe gleichsam ein Flut von Mails erzeugt, jede Mail - auch Bestätigungsmails - enthält nun ein ReturnReceipt = "1" und DeliveryReport= "C"

die Mails die ich rief, werd ich nun nicht mehr los.....
Walle Walle wehe wehe
"In die Ecke,
Besen, Besen!
Seids gewesen.
Denn als Geister
ruft euch nur zu diesem Zwecke,
erst hervor der alte Meister


Mein Script soll folgendes leisten
Mail kommt in den Eingangskorb
Eine Regel verschiebt die Mail anhand des Betreffs in einen Ordner (um es mir einfacher zu machen)

Der Agent durchsucht den Ordner
setzt den Absender der Mail auf edi@xxx.de
verschickt die Mail unverändet (Subject, Body, Anhang ) an eine Mail-Gruppe
ReturnReceipt = "1" und DeliveryReport= "C"
verschiebt sie in einen Ordner "fertig"
und löscht die Mail aus dem UrsprungsOrdner

jetzt haben aber auch die Bestätigungsmails ein ReturnReceipt und DeliveryReport
und der Anhang bleibt auf der Strecke !?


weißt einer der alten Meister evt. woran es bei diesen beiden Punkten hakt !?


Sub Initialize
Dim s As New NotesSession
Dim db As NotesDatabase
Set db = s.CurrentDatabase
Dim dc As NotesDocumentCollection
Set dc = db.UnprocessedDocuments
Dim docIn As NotesDocument 'docin ist das ankommende Memo
Dim docOut As NotesDocument 'docout ist das weitergeleitete Memo

'Setzen der Weiterleitungsadresse
Dim stRecipient As Variant

Set docIn = dc.GetFirstDocument
While Not docIn Is Nothing

'von wem?
Dim stFrom As String
Dim Position As Long
Dim Temp As Variant
stFrom = "edi@xxx.de"

'Memo erstellen
Set docOut = db.CreateDocument
Call DocIn.copyallitems(docOut)
'hier stehen die Empfänger <sendto> als Gruppe
docOut.SendTo = "#CROWN"
docOut.AltFrom = "EDI@xxx.de"
docOut.Principal = stFrom
docOut.ReturnReceipt = "1"
docOut.Importance = "1"
docOut.DeliveryReport= "C"
docOut.SaveMessageOnSend = True
Call docOut.Send(False)

'weiter
Call s.UpdateProcessedDoc(docIn)
'hier immer jeweils die Ordner eintragen, die man benötigt- DocIn heisst das Original-Memo
Call docIn.PutInFolder("CROWN fertig")
'Die Ordnernamen sind Case-sensitiv
' Nach dem folgenden Schritt ist es dann weg aus dem Ursprungsordner
Call docIn.RemoveFromFolder( "CROWN" )
Set docIn = dc.getnextdocument(docIn)

Wend


End Sub

schönen Gruss Max

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:mein erstes Script...Walle Walle wehe wehe
« Antwort #1 am: 01.07.04 - 11:25:52 »
So ganz verstehe ich Dein Posting noch nicht, Max. Du forderst in Deinem Code ReturnReceipt und DeliveryReport ausdrücklich an, beklagst Dich dann aber den zunehmenden Mailverkehr ? Da blicke ich noch nicht durch.
Unklar ist mir ehrlich gesagt, warum Attachments auf der Strecke bleiben sollen. Der Code sieht da sauber aus. Aber: Warum speicherst Du denn die Mails doppelt ? Tut das not, die Benachrichtigungsmails auch noch aufzuheben ? Ansonsten könntest Du ja die Adressatenfelder und das Subject etc. im Original austauschen und dieses dann versenden. Dann muss natürlich das docOut.SaveMessageOnSend 'raus.

Sag' mal an.

Bernhard

Offline EUWE_MAX

  • Junior Mitglied
  • **
  • Beiträge: 73
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:mein erstes Script...Walle Walle wehe wehe
« Antwort #2 am: 01.07.04 - 11:47:33 »
Bernhard, danke für Dein Interesse -
Vorab: bitte aber um Nachsicht. Habe bisher nicht programmiert und fange jetzt ab, mich  mittels Buch da zu orientieren. Sprich vieles was Euch sonneklar ist , ist mir völlig unklar, böhmische Dörfer...

Also ich erhalte über dieses Script auf eine Mail hunderte von Mails zurück.. Offensichtlich haben auch die Bestätigungsmails
einen DeliveryReport

Das ist momentan das Schlimmste

Anhang klappt im Test nicht, bleibt auf der Strecke

Die Situation ist die, dass der Kunde abundwann behauptet eine Mails von uns nicht erhaltenzu haben, obwohl er die laut Mailprotokoll erhalten hat.

Deswegen die Bestätigungsmails, dass wir ihm die ggf. zeigen können.

Im Grunde geht es darum: Mail wird automatisch von einem UNIX-SERVER erzeugt und and EDI geschickt. Der Betreff ist immer eindeutig und soll auch nicht verändert werden.
Die Mail soll unverändert weiterverschickt werden. Als Versender soll nicht mehr der UNIX-Server drin stehen - was beim Weiterleiten über Regeln der Fall ist -  sondern EDI.
Die Mail soll  ein Delivery und/oder Receipt Feld erhalten.

Der Eingangskorb soll (auf Dauer - nicht minütlich) ) immer leer sein, denn wenn nicht leer, dann liegt ne Fehlersituation vor.

Max

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:mein erstes Script...Walle Walle wehe wehe
« Antwort #3 am: 01.07.04 - 20:38:47 »
wegen der Attachments:
kannst du mal probieren, statt dieser zwei Zeilen

Set docOut = db.CreateDocument
Call DocIn.copyallitems(docOut)

diese zu nehmen

Set docOut = docIn.CopyToDatabase(db)

das ist nur eine andere Möglichkeit, eine Kopie eines DOkuments zu erstellen. Nur ein Versuch.
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:mein erstes Script...Walle Walle wehe wehe
« Antwort #4 am: 01.07.04 - 20:39:48 »
den Vergleich mit dem Zauberlehrling und der Mailflut find ich sauwitzig.
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:mein erstes Script...Walle Walle wehe wehe
« Antwort #5 am: 02.07.04 - 00:34:49 »
Max, das mit der Mailflut musst Du selber klären, das lässt sich ja nur so erklären, dass Deine erzeugten Mails wieder von Deinem Agent gegriffen werden. Goethes Zauberlehrling ist dann wirklich das passende Beispiel.

Was das andere angeht:
Wer oder was ist EDI ?
Wohin willst Du Deine Return Receipt- oder Delivery Report-Requests senden ? Notes to Notes oder Notes to Internet ? Letzteres kannst Du von vornherein vergessen - das funktioniert nicht.

Damit wir helfen können: Wir brauchen mehr Input ! Wegen Deinem Anfängerstatus brauchst Du Dir hierbei keinerlei Gedanken zu machen - den hatte hier jeder schon einmal !

Bernhard

Offline EUWE_MAX

  • Junior Mitglied
  • **
  • Beiträge: 73
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:mein erstes Script...Walle Walle wehe wehe
« Antwort #6 am: 02.07.04 - 14:52:02 »
War heute noch nicht online, mich hatts erwischt und bin erkrankt.

EDI ist austauschbar, es geht um automatisch erzeugte Mails der Body/Anhang im EDI-Format (Electronic Data Interchange ) vorliegen.

Die Return Receipt- oder Delivery Report-Requests
sollen ins Internet gehen, warum sollte das nicht gehen !?

schönen Gruß Max



Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:mein erstes Script...Walle Walle wehe wehe
« Antwort #7 am: 02.07.04 - 15:05:19 »
ReturnReceipts werden nicht von jedem Mailsystem unterstützt. Sendet man also ein Mail mit ReturnReceipt "irgendwo ins Internet", so ist die Wahrscheinlichkeit, dass eine Antwort kommt, nicht besonders hoch.
Ob Delivery Reports überhaupt unterstützt werden, kann ich nicht sagen. Ich habe mal ein paar Tests gemacht, und die letzten Reports kamen immer von meinem Server - danach war Funkstille.

Bernhard

Offline EUWE_MAX

  • Junior Mitglied
  • **
  • Beiträge: 73
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:mein erstes Script...Walle Walle wehe wehe
« Antwort #8 am: 09.07.04 - 11:34:20 »
Hallo, kleine Pause eingelegt - war krank und bin wieder genesen.

Habe noch so meine Problemchen mit dem Script.
Also Anhänge funktionieren !

Aber mit den Reports (Delivery / ReturnReceipt) verhält es sich nicht so wie ich es mir wünsche.
Also wenn ich eine Mail z.B. aus dem Internet von abc@web.de an edi@xxx.de schicke,
soll die Mail ja  mit Delivery Reports weiterverschickt werden von jetzt edi@xxx.de (statt abc@web.de) als Absender an z.B. xyz@gmx.de.

Wenn xyz@gmx.de die Mail erhält soll die Bestätigungsmail  an
edi@xxx.de gehen.
Sie geht aber an abc@web.de !

Weiß da jemand Abhilfe ?

Danke Max
« Letzte Änderung: 09.07.04 - 11:35:21 von EUWE_MAX »

Marinero Atlántico

  • Gast
Re:mein erstes Script...Walle Walle wehe wehe
« Antwort #9 am: 09.07.04 - 12:12:23 »
Ich glaub sowas wird erstmal unterbunden.
D.h. ich halte es für sehr wahrscheinlich, dass dies nur mit Tricks möglich.
Sonst könnte ich mich ja mit 100 Leuten verabreden und die Return Receipts grundsätzlich an Ed.Brill@ibm.com zu schicken, um den ein bischen von der "Arbeit" abzuhalten.

Offline EUWE_MAX

  • Junior Mitglied
  • **
  • Beiträge: 73
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:mein erstes Script...Walle Walle wehe wehe
« Antwort #10 am: 09.07.04 - 13:06:53 »
Hallo Marinero,
nein so ist das nicht gemeint.

Das Script läuft ja in der mail.nsf vom User edi@xxx.de.
Dort wird
docOut.DeliveryReport= "C"  
gesetzt und der Absender auf edi@xxx.de gesetzt.

Dann will dieser Absender natürlich auch die Bestätigungmails erhalten.

Aber gerade jetzt erhält sie jemand (nämlich der ursprüngliche Erzeuger der Mail), der DeliveryReport gar nicht gesetzt hat und sie auch nicht will.

schönen Gruß Max






Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:mein erstes Script...Walle Walle wehe wehe
« Antwort #11 am: 09.07.04 - 13:29:07 »
Du musst in den Mail-Preferences den Besitzer der Mail-Datenbank korrekt eintragen, dort steht, wenn man nicht aufpasst, der Erzeuger der Mail-Datenbank und nicht der Eigentümer. Dieser Besitzer wird aber von Notes als effektiver Absender gesetzt, deshalb diese Erscheinung
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline EUWE_MAX

  • Junior Mitglied
  • **
  • Beiträge: 73
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:mein erstes Script...Walle Walle wehe wehe
« Antwort #12 am: 09.07.04 - 14:04:02 »
Hallo,
in Vorgaben steht diese Mail-Datei gehört
"edi...."

ist also (-leider-) richtig eingetragen....

?? Max

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:mein erstes Script...Walle Walle wehe wehe
« Antwort #13 am: 09.07.04 - 14:08:23 »
Ach so, das Ding läuft im Hintergrund auf dem Server, dann gilt das nicht, was ich eben gesagt habe. In diesem Fall wird der Signer des Agenten als Absender gesetzt. Der Agent sollte also mit der ID abgespeichert bzw. archiviert werden, die als Absender  verwendet werden soll (oder mit dem Admin-Client mit der entsprechenden ID unterzeichnen)
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:mein erstes Script...Walle Walle wehe wehe
« Antwort #14 am: 09.07.04 - 14:11:06 »
Der Absender Deiner Mails ist - unabhängig von Deien Eintragungen in ein From-Feld oder dem DB-Profile oder den AU-Einstellungen immer derjenige, der Deinen Agenten signiert hat.
Siehe hierzu das Statement vom Marinero.

Bernhard

Offline EUWE_MAX

  • Junior Mitglied
  • **
  • Beiträge: 73
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:mein erstes Script...Walle Walle wehe wehe
« Antwort #15 am: 09.07.04 - 15:18:19 »
Hallo Bernhard,
ach ich wünschte dem wäre so.....
Aber leider kann ich es so nicht bestätigen.

Ich schicke testhalber eine Mail (ohne Lese- und Auslieferungsbestätigungflag) vom GMX an Lotus, an den besagten EDI-User.
GMX - leuchtet jedem ein -  ist weder Besitzer der Mail-DB noch Signierer des Scripts.

Die Bestätigungmails gehen aber dennoch an GMX, was sie nun mal nicht sollen und was auch nicht richtig ist.

ratloser Max
 

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:mein erstes Script...Walle Walle wehe wehe
« Antwort #16 am: 09.07.04 - 15:27:03 »
In der reichlichen Woche seit Deinem ersten Posting in dieser Sache hat sich offensichtlich noch einiges in Deinem Code und Deinem allgemeinen Vorgehen geändert. Ich sehe jetzt jedenfalls nicht mehr durch, was bei Dir jetzt passieren soll und tatsächlich passiert.
Mal uns einfach nochmal allgemeinverständlich Deinen Plan auf und poste den aktuellen Code dazu. Dann sollte Dir auch geholfen werden können.

Bernhard

Offline EUWE_MAX

  • Junior Mitglied
  • **
  • Beiträge: 73
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:mein erstes Script...Walle Walle wehe wehe
« Antwort #17 am: 12.07.04 - 15:07:14 »
Hallo Bernhard, am Ende das aktuelle Script:

Es macht folgendes:

Mail kommt rein
Es wird eine neue Mail kreiert (Set docOut = db.CreateDocument)
dann werden alle Items von der Ursprungsmail in die neue kopiert (Call DocIn.copyallitems(docOut) )

Dann wird der Absender manipuliert und es werden die Zustelloptionen gesetzt.
Dann wird die kreierte Mail versand und gespeichert (SaveMessageOnSend)

Dann wird die Ursprungsmail auf bearbeitet gesetzt (s.UpdateProcessedDoc)

Dann wird die Ursprungsmail verschoben ....
und nach der nächsten Mail geschaut

das wars im Wesentlichen

Die Urspungsmail kommt immer vom Internet an Notes.
Im Test halt von GMX.
und soll aus Notes ans Internet  weitergehen.

Die aus Notes weitergeleitete Mail soll einen Notesuser als Absender ausweisen und nicht den urprünglichen GMX-User (klappt).

Die innerhalb Notes gesetzten Zustelloptionen (Deliveryreport) soll Mails an diesen Notesuser  generieren und nicht an GMX.

Aber dennoch gehen die Zustellberichte an GMX.

Vermutlich geht ja die neue Mail mit der alten Message-ID raus (wegen copy all items).
Hat sich Notes mgl.  in irgendeinem Cache/Tabelle die Message-ID gemerkt und mit dem alten Absender (GMX) verdrahtet ?

schönen Gruß Max

Sub Initialize
Dim s As New NotesSession
Dim db As NotesDatabase
Set db = s.CurrentDatabase
Dim dc As NotesDocumentCollection
Set dc = db.UnprocessedDocuments
Dim docIn As NotesDocument 'docin ist das ankommende Memo
Dim docOut As NotesDocument 'docout ist das weitergeleitete Memo

'Setzen der Weiterleitungsadresse
Dim stRecipient As Variant

Set docIn = dc.GetFirstDocument
While Not docIn Is Nothing

'von wem?
Dim stFrom As String
Dim Position As Long
Dim Temp As Variant
stFrom = "edi@xxx.de"

'Memo erstellen
Set docOut = db.CreateDocument
Call DocIn.copyallitems(docOut)
'hier stehen die Empfänger <sendto> als Gruppe
docOut.SendTo = "#CROWN"
docOut.AltFrom = "EDI@xxx.de"
docOut.Principal = stFrom
docOut.ReturnReceipt = "1"
docOut.Importance = "1"
docOut.DeliveryReport= "C"
docOut.SaveMessageOnSend = True
Call docOut.Send(False)

'weiter
Call s.UpdateProcessedDoc(docIn)
'hier immer jeweils die Ordner eintragen, die man benötigt- DocIn heisst das Original-Memo
Call docIn.PutInFolder("CROWN fertig")
'Die Ordnernamen sind Case-sensitiv
' Nach dem folgenden Schritt ist es dann weg aus dem Ursprungsordner
Call docIn.RemoveFromFolder( "CROWN" )
Set docIn = dc.getnextdocument(docIn)

Wend

End Sub
« Letzte Änderung: 12.07.04 - 15:16:32 von EUWE_MAX »

Offline EUWE_MAX

  • Junior Mitglied
  • **
  • Beiträge: 73
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:mein erstes Script...Walle Walle wehe wehe
« Antwort #18 am: 15.07.04 - 15:25:37 »
Habe diesen Beitrag geschlossen

und unter
http://www.atnotes.de/index.php?board=3;action=display;threadid=16987

neu aufgemacht.

Max

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz