Toon posts:

[vbscript] lotus notes r5.05 sendmail

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik probeer een html-mail te versturen via een lotus-notes client dmv een visual-basic scriptje.
Dit lukt al aardig, nu wil de klant echter dat er een html-mail verstuurd wordt ipv een plain-tekst mail. Een html-document als attachment meesturen is geen acceptabele optie.

Ik heb echter geen idee hoe ik dit voor elkaar kan krijgen. Het heeft iets te maken met mime-types geloof ik, maar ik ben nogal een newby op dit gebied (zowel vb als lotus notes).
Volgens mij moet ik de maildoc.body het mime-type text/html meegeven, of iets in die geest, maar hoe doe ik dit?

Onderstaande code gebruik ik nu om de mail te versturen:
- Er wordt connectie gemaakt met lotus-notes client
- de bodytekst wordt uit een plat tekstbestandje gelezen
- Een attachment wordt toegevoegd
- de mail wordt verstuurd.

Ik hoop dat iemand een idee heeft hoe ik dit aan moet pakken.

Bij voorbaat dank.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
'Set up the objects required for Automation into lotus notes
    Dim Maildb 'The mail database
    Dim UserName 'The current users notes name
    Dim MailDbName 'THe current users notes mail database name
    Dim MailDoc  'The mail document itself
    Dim AttachME  'The attachment richtextfile object
    Dim Session  'The notes session
    Dim EmbedObj 'The embedded object (Attachment)
    Dim Subject
    Dim Attachment
    Dim Recipient
    Dim Bodyfile
    Dim SaveIt
    Dim filesys
    Dim readfile
    Dim contents
  
'5 parameters zijn verplicht
If WScript.arguments.count <> 5 Then
    WScript.Echo _
        "Usage: sendmail.vbs <Subject, Attachment , Recipient , Bodyfile , SaveIt>" 
    WScript.quit
End If

'Assign arguments to named variables
    Subject    = WScript.arguments(0)
    Attachment = WScript.arguments(1)
    Recipient  = WScript.arguments(2)
    Bodyfile   = WScript.arguments(3)
    SaveIt     = WScript.arguments(4)

    'Start a session to notes
    Set Session = CreateObject("Notes.NotesSession")
    'Get the sessions username and then calculate the mail file name
    'You may or may not need this as for MailDBname with some systems you
    'can pass an empty string
    UserName = Session.UserName
    MailDbName = Left(UserName, 1) & Right(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
    'Open the mail database in notes
    Set Maildb = Session.GETDATABASE("", MailDbName)
     If Maildb.ISOPEN = True Then
          'Already open for mail
     Else
         Maildb.OPENMAIL
     End If
    'Set up the new mail document
    Set MailDoc = Maildb.CREATEDOCUMENT
    MailDoc.Form = "Memo"
    MailDoc.sendto = Recipient
    MailDoc.Subject = Subject
    
    set filesys = CreateObject("Scripting.FileSystemObject")
    set readfile = filesys.OpenTextFile(Bodyfile, 1, false)
    contents = readfile.ReadAll
    readfile.close
        
    MailDoc.Body = contents
    MailDoc.SAVEMESSAGEONSEND = SaveIt
    'Set up the embedded object and attachment and attach it
    If Attachment <> "" Then
        Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment")
        Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment,"Attachment")
        MailDoc.CREATERICHTEXTITEM ("Attachment")
    End If
    'Send the document
    MailDoc.PostedDate=Now() 'Gets the mail to appear in the sent items folder
    MailDoc.SEND 0, Recipient
    'Clean Up
    Set Maildb = Nothing
    Set MailDoc = Nothing
    Set AttachME = Nothing
    Set Session = Nothing
    Set EmbedObj = Nothing
Wscript.Quit

[ Voor 6% gewijzigd door Verwijderd op 17-11-2003 17:28 ]


  • DeverauX
  • Registratie: Februari 2002
  • Niet online

DeverauX

Focus is everything

MailDoc.BodyFormat = 0 misschien :?
[offtopic]Je code is beter leesbaar wanneer je het tussen[norml]
code:
1
[/] tags plaatst. ;)[/]

[ Voor 6% gewijzigd door DeverauX op 17-11-2003 17:17 ]

...whatever was distasteful or unpleasant or uncomfortable or painful - music could always soothe that.
All you have to do is reach out to beauty.
Quincy Jones


Verwijderd

Topicstarter
Hallo,

Helaas werkt dit niet.
Wat ik wel zie gebeuren, is dat er bij de document properties een nieuwe entry "BodyFormat" verschijnt, met Data Type: Number List

Verander ik MailDoc.BodyFormat = 0 in MailDoc.BodyFormat = "Html" dan wordt dit
Data Type: Text List
maar het geeft nog niet het gewenste resultaat; alle html-tags blijven gewoon zichtbaar.

Ik denk wel dat hier iets inzit, maar hoe ermee om te gaan?

alvast bedank