Domino 9 und frühere Versionen > ND6: Entwicklung
Absenderkennung ändern und Richtext bzw. Anhänge mitschicken
mophat:
Hallo zusammen, wir benötigen für die Firma eine Mailbox (info@mydomain.com) mit der alle die damit arbeiten die Info-Adresse als Absender bekommen.
In Outlook sieht man ja ansonsten "Mitarbeiter1 hat im Auftrag von Info diese Mail gesand"... >:(
Nun gut Ich habe nun eine DB erstellt bei welcher dann beim Versand ein Agent getriggert wird und de untenstehenden Code ausführt:
------------------------------------------------------------------------------------------------------
Sub Initialize
'Main Document
Dim dbA As New NotesDatabase ( "SERVER1/XXX/YY", "IT\devmailbox.nsf" )
Dim viewA As NotesView
Dim docA As NotesDocument
Set viewA = dbA.GetView( "Unsend Mails" )
Set docA = viewA.GetFirstDocument
'Sending Document
Dim s As New notessession
Dim dbB As NotesDatabase
Dim Mailbox As NotesDatabase
Dim docB As NotesDocument
Dim item As NotesItem
Set dbB = s.CurrentDatabase
Set Mailbox = s.GetDatabase(dbB.Server, "mail.box")
Set docB = New NotesDocument(Mailbox)
Set item = docB.GetFirstItem( "Body" )
' Values for sending
docB.SendTo = docA.GetItemValue( "SendTo" )
docB.Recipients = docA.GetItemValue( "SendTo" )
docB.From = "CN=Dev Mailbox/O=XXX/C=YY"
docB.form = "Memo"
docB.Subject = docA.GetItemValue( "Subject" )
docB.Body = docA.GetItemValue( "Body" )
' Save and close Docs
Call docA.ReplaceItemValue ("myMailStatus", "is send")
Call docA.save(True, False)
Call docB.save(True, False)
End Sub
------------------------------------------------------------------------------------------------------
Soweit so gut.
Nun habe ich aber nur noch 2 Probleme:
1. Die Mails werden immer als Plaintext versandt und somit ist auch keine Formatierung etc. möglich
2. Es werden ebenfalls keine Anhänge mitgeschickt (was aber auch mit Punkt 1 zusammenhängt)
Kann mir jemand ein Beispiel zeigen womit ich diesen Agent ermöglich dass er doch quasi Richtext/HTML mit dem Content-Type: multipart/related schickt?
Bin für jede Antwort dankbar ;D
Dank im Voraus für alle Feedacks
Volkan S.
ascabg:
Hi,
Schau Dir doch einmal die Methode "CopyItem" der "NotesDocument"-Klasse an.
Vielleicht kannst du damit etwas Anfangen in Bezug auf Dein Body-Feld.
Andreas
mophat:
Habs schon versucht klappt leider nicht oder ich bin nicht fähig :-:
Der Debugger meinte immer dass das Feld nicht auf sich selbst kopiert werden könne (obwohl es ein anderes war).
Ist es möglich anhand meines Codes ein Beispiel für mich zu erstellen?
Danke
ascabg:
Testen wir mal.
Sub Initialize
'Main Document
Dim dbA As New NotesDatabase ( "SERVER1/XXX/YY", "IT\devmailbox.nsf" )
Dim viewA As NotesView
Dim docA As NotesDocument
Set viewA = dbA.GetView( "Unsend Mails" )
Set docA = viewA.GetFirstDocument
'Sending Document
Dim s As New notessession
Dim dbB As NotesDatabase
Dim Mailbox As NotesDatabase
Dim docB As NotesDocument
Dim item As NotesItem
Set dbB = s.CurrentDatabase
Set Mailbox = s.GetDatabase(dbB.Server, "mail.box")
Set docB = New NotesDocument(Mailbox)
Set item = docA.GetFirstItem("Body")
' Values for sending
docB.SendTo = docA.GetItemValue( "SendTo" )
docB.Recipients = docA.GetItemValue( "SendTo" )
docB.From = "CN=Dev Mailbox/O=XXX/C=YY"
docB.form = "Memo"
docB.Subject = docA.GetItemValue( "Subject" )
Call docB.CopyItem(item, "Body")
' Save and close Docs
Call docA.ReplaceItemValue ("myMailStatus", "is send")
Call docA.save(True, False)
Call docB.save(True, False)
End Sub
umi:
Wenn Du den Absender ändern willst, reicht es nicht aus,einfach das From feld zu beschreiben, da dieses beim Abschicken vom Router erstellt wird.
In diesem Forum gibts einige Anleitungen wie man sowas hinbekommt (Mail in Mail.box erstellen, etc)
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln