Autor Thema: Warum wird hier ein Attachment mitgemailt?!  (Gelesen 2482 mal)

Offline ivan_hunkeler

  • Frischling
  • *
  • Beiträge: 16
Warum wird hier ein Attachment mitgemailt?!
« am: 18.12.06 - 14:03:37 »
Code
Set db = session.CurrentDatabase
	Set view = db.GetView( "OpenByNumber" )
	Set doc = view.GetFirstDocument
	
	While Not ( doc Is Nothing )
		
		docdate = doc.GetItemValue(docvergleichsfeld(0))
		docdatumwert = Today-docdate(0)
		vergleichswert = docvergleichswert(0) -docdatumwert
		
		If vergleichswert < 0  Then 
			
			teststr = docmailadresse(0)
			delim = ","
			ret = Split(teststr, delim) 	'hier wird der "Feldinhalt" getrennt bei jedem Komma
			
			For x = 0 To 20 'Max 21 Mailadressen können eingetragen werden
				If ret(x) = "" Then
					Exit Sub 'Programm wird abgebrochen
				Else
					doc.Form = "Memo"
					doc.SendTo =ret(x)
					doc.Subject = docmailsubject(0)
					doc.Body = docmailbody(0)
					Call doc.Send( False )'Mail wird verschickt
					
				End If
				
			Next  'For-schlaufe
			
		Else 'gehört zur "If vergleichswert < 0 Then" Schlaufe
			Set doc = view.GetNextDocument( doc )
		End If
		
	Wend

das ist der entscheidene CODE... und nun habe ich das Problem das automatisch ein Anhang mitgschickt wird, der in irgend einem Feld ist, wobei ich den niergends dazu füge zum Mail?!
kann man den einfach wieder löschen?
gibt es eine andere möglichkeit, was könnte die ursache sein das automatisch ein Attachment eingefügt wird?

botschi

  • Gast
Re: Warum wird hier ein Attachment mitgemailt?!
« Antwort #1 am: 18.12.06 - 14:07:36 »
Warum sollte DAS der entscheidene Code sein?
Ist es eine Schaltfläche?
Ein HotSpot?
Ein Agent?
Wann läuft der Code?
Wer führt den Code aus?
Was für ein "Anhang"? Irgendeiner kann ja nicht sein.

Du glaubst doch nicht, dass jemand Dir helfen kann bei den wenigen Infos....

Matthias

Offline Axel

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Warum wird hier ein Attachment mitgemailt?!
« Antwort #2 am: 18.12.06 - 14:10:25 »
Du setzt in deinen Dokumenten, die du durchläufst das Form-Feld auf Memo, füllst noch ein paar Felder und versendest diese dann. Wahrscheinlich wird dadurch der Anhang mit versendet.

Du müsstest für die Mail neue Dokumente anlegen.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline ivan_hunkeler

  • Frischling
  • *
  • Beiträge: 16
Re: Warum wird hier ein Attachment mitgemailt?!
« Antwort #3 am: 18.12.06 - 14:39:55 »
sorry...ich versuche mich genauer zu fassen...

es ist ein Agent... ich poste ganz unten mein komplterer Code...

es ist ein Agent der schaut ob ein Dokument älter als x tag ist, das funktioniert auch alles einwandfrei. Nun habe ich gedacht das sei nun alles Tip Top, nun in der Praxis ist mir dann aufgefallen, falls in einem Dokument in irgend einem Richfeld eine Datei ist(egal welches format, egal wie sie heisst) wird sie als Anhang mitgemailt. ->Es Handelt sich hierbei um eine Helpdeskdatenbank...
der Agent sollte dann täglich ablaufen.

Code
Sub Initialize 
	Dim session As New NotesSession
	Dim db As NotesDatabase
	Dim db_werte As NotesDatabase
	Dim view As NotesView
	Dim doc As NotesDocument
	Dim uidoc As NotesUIDocument
	Dim docwert As NotesDocument
	Dim docmailadresse As Variant
	Dim mailadresse As Variant
	Dim docmailsubject As Variant	
	Dim docmailbody As Variant
	Dim mailbox As New NotesDatabase("","")
	Dim docdate As Variant
	Dim docdatumwert As Variant
	Dim docvergleichswert As Variant
	Dim docvergleichsfeld As Variant
	Dim vergleichswert As Variant
	Dim ret As Variant
	Dim teststr As String
	Dim delim As String
	
	On Error Resume Next
	
'********************************************************************
'	Werte auslesen aus Konfiguration "SYSTEMPARAMETER - DO NOT DELETE !!!!!"
'********************************************************************
	
	Set db_werte = session.CurrentDatabase
	Set view = db_werte.GetView("($LUConfig)")
	Set docwert = view.GetDocumentByKey("AGENTALARMMAILADRESSE") 'Email Adresse wird hier ausgelesen
	docmailadresse = docwert.GetItemValue("cfgKeywords")
	
	Set docwert = view.GetDocumentByKey("AGENTALARMMAILDAUER") 'Anzahl Tage, die das Dok. alt sein darf wird hier ausgelesen
	docvergleichswert = docwert.GetItemValue("cfgKeywords")
	
	Set docwert = view.GetDocumentByKey("AGENTALARMMAILFELD") 'Feldname vom "VergleichsFeld" wird ausgelesen
	docvergleichsfeld = docwert.GetItemValue("cfgKeywords")
'	Messagebox(docvergleichsfeld(0))
	
	Set docwert = view.GetDocumentByKey("AGENTALARMMAILSUBJECT") 'Mailsubject wird ausgelesen
	docmailsubject = docwert.GetItemValue("cfgKeywords")
	
	Set docwert = view.GetDocumentByKey("AGENTALARMMAILBody") 'Mailbodywird ausgelesen
	docmailbody = docwert.GetItemValue("cfgKeywords")
	
'********************************************************************
'						ENDE - Werte auslesen aus Konfiguration
'********************************************************************
	
	Set db = session.CurrentDatabase
	Set view = db.GetView( "OpenByNumber" )
	Set doc = view.GetFirstDocument
	
	While Not ( doc Is Nothing )
		
		docdate = doc.GetItemValue(docvergleichsfeld(0))
		docdatumwert = Today-docdate(0)
		vergleichswert = docvergleichswert(0) -docdatumwert
		
		If vergleichswert < 0  Then 
			
			teststr = docmailadresse(0)
			delim = ","
			ret = Split(teststr, delim) 	'hier wird der "Feldinhalt" getrennt bei jedem Komma
			
			For x = 0 To 20 'Max 21 Mailadressen können eingetragen werden
				If ret(x) = "" Then
					Exit Sub 'Programm wird abgebrochen
				Else
					doc.Form = "Memo"
					doc.SendTo =ret(x)
					doc.Subject = docmailsubject(0)
					doc.Body = docmailbody(0)
					Call doc.Send( False )'Mail wird verschickt
					
				End If
				
			Next  'For-schlaufe
			
		Else 'gehört zur "If vergleichswert < 0 Then" Schlaufe
			Set doc = view.GetNextDocument( doc )
		End If
		
	Wend
	
End Sub

klaussal

  • Gast
Re: Warum wird hier ein Attachment mitgemailt?!
« Antwort #4 am: 18.12.06 - 14:45:55 »
Also ich versteh imer noch nur "Bahnhof".  :-:   Was willst Du eigentlich  ?

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Warum wird hier ein Attachment mitgemailt?!
« Antwort #5 am: 18.12.06 - 15:13:27 »
1) Objekt-Recycling ist nicht das, was Du tun willst.
Aus Deinem Code:
Code
Set doc = view.GetFirstDocument
...
doc.Form = "Memo"
doc.SendTo =ret(x)
doc.Subject = docmailsubject(0)
doc.Body = docmailbody(0)
Call doc.Send( False )'Mail wird verschickt
...
Set doc = view.GetNextDocument( doc )
Du nimmst das Dokument so, wie Du es gefunden hast, verpasst Ihm noch ein paar zusätzliche Felder und verschickst es.
Da darfst Du Dich nicht wundern, wenn die Attachments mitgeschickt werden. Die können in $FILE Items stehen, im Body, ....
Und nein, "doc.Body = docmailbody(0)" überschreibt NICHT die Inhalte des BODY Feldes, sondern hängt den Inhalt von docmailbody(0) an doc.Body an. Siehe dazu den Abschnitt "Extended class syntax" im Designer-Hilfe Dokument zur "AppendItemValue method".

Sauber wird so etwas gelöst, indem man a) einen neues Dokument zum Mailen erstellt und b) die Werte, die gemailt werden sollen über GetItemValue() aus dem Ursprungsdokument holt.

2) Warum verwendest Du mehrere "normale" Dokumente anstelle eines Profildokumentes?

3) Datumsvergleich
Code
docdate = doc.GetItemValue(docvergleichsfeld(0))
docdatumwert = Today-docdate(0)
vergleichswert = docvergleichswert(0) -docdatumwert
Für sowas haben uns die lieben Leute bei Iris/Lotus/IBM notesDateTime.TimeDifference() gegeben.


HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline ivan_hunkeler

  • Frischling
  • *
  • Beiträge: 16
Re: Warum wird hier ein Attachment mitgemailt?!
« Antwort #6 am: 18.12.06 - 15:22:13 »
ach soo... sorry ich bin ein ziemlicher Anfänger auf dem Gebiet. Ok ich versuche es  mit einem neuen Dokument...
vielen dank für die schnelle Antwort

Offline ivan_hunkeler

  • Frischling
  • *
  • Beiträge: 16
Re: Warum wird hier ein Attachment mitgemailt?!
« Antwort #7 am: 18.12.06 - 15:57:22 »
Code
					'******************************************Mail erstellen*******************************
					
'Dokument speichern, um die Felder sichtbar zu machen
					Set uidoc = workspace.CurrentDocument
					Call uidoc.Save	
					Set doc = uidoc.document
					Set Database = session.CurrentDatabase
					
'Auslesen, welche Pers. das Dokument erstellt hat
					sendas = uidoc.FieldGetText( "mailCreator" ) 	
					
' Neues Mail machen in Servermailbox
					Set maildoc = New Notesdocument(Database)
					maildoc.Form = "Memo"
					maildoc.From = sendas
					maildoc.SendFrom = item
					
					item =ret(x)
					Call maildoc.ReplaceItemValue( "SendTo", item ) 
					Call maildoc.ReplaceItemValue( "recipients", item ) 
					item_sub = docmailsubject(0)
					Call maildoc.ReplaceItemValue( "Subject", item_sub )
					Call maildoc.Save(True, False, False)	
					
					
					Call maildoc.Save(True, False, False)	
					Call maildoc.Send(False )
					Call uidoc.Close
					'*******************************************Mail erstellen*********************************


soo das wars... 1000dank an m3 ;-) das wusste ich leider nicht... vielen dank für dein Verständniss, dass hier auch Anfänger fragen stellen, was für dich/euch halt sonnenklar ist...

vielen vielen Dank

greeeeez ivan

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz