[Lotus Notes] Agent die automatisch een email stuurt.

Pagina: 1
Acties:
  • 191 views sinds 30-01-2008
  • Reageer

  • Mx. Alba
  • Registratie: Augustus 2001
  • Laatst online: 08:45

Mx. Alba

hen/hun/die/diens

Topicstarter
Ik ben op het werk bezig om de dagelijkse statistieken die ik onder mijn hoede heb te automatiseren. Ik heb nu Forest & Trees (ons statistiekenprogsel van Computer Associates) zo ver dat hij automatisch HTML-bestanden genereert met de grafieken erin, en met de Windows Scheduler zorg ik ervoor dat die automatisch 'snachts draait. Als ik 'smorgens op het werk kom hoef ik dus alleen nog maar die HTML-bestanden in mijn email-modellen te importeren en die weg te sturen.

Maar ook dat kan vast wel automatisch :)

Ik heb dus een LN agent nodig (in LotusScript of Java) die automatisch een viertal emails stuurt, met (onder andere) de datum van de vorige werkdag in de titel en de body ("Daily EAU Statistics for the 23rd of March 2006" bijvoorbeeld), en met een import van één of meerdere HTML-bestanden.

Ik heb al een beetje rondgegoegelt maar heb helaas niets bruikbaars kunnen vinden. Wie heeft toevallig een dergelijke agent rondslingeren, of weet waar ik de informatie kan vinden om er eentje zelf inelkaar te knutselen? Ik heb wel enige programming-notions (ANSI C, Perl, PHP, Javascript en in een grijs verleden Modula, Java...) en een voldoende dosis motivatie. Anybody?

Het is alleen een echte hetze als het uit Hetzerath komt, anders is het gewoon sprankelende ophef.


  • DaRealRenzel
  • Registratie: November 2000
  • Laatst online: 23-02 15:56

DaRealRenzel

Overtuigd Dipsomaan

Waarom laat je het proces je mail niet gewoon script-based naar een SMTP Server sturen ? Ik ga er van uit dat er ergens toch wel een SMTP Gateway in je Notes omgeving staat ?

Nothing is a problem once you've debugged the code


  • Mx. Alba
  • Registratie: Augustus 2001
  • Laatst online: 08:45

Mx. Alba

hen/hun/die/diens

Topicstarter
DaRealRenzel schreef op vrijdag 24 maart 2006 @ 10:05:
Waarom laat je het proces je mail niet gewoon script-based naar een SMTP Server sturen ? Ik ga er van uit dat er ergens toch wel een SMTP Gateway in je Notes omgeving staat ?
F&T (Forest & Trees) kan wel mail naar een SMTP sturen, maar dat is dan platte tekst met de plaatjes als attachments. De mail moet echter opgemaakt zijn, met de grafieken direkt zichtbaar in de body...

De makkelijkste manier leek mij om dus om LN de HTML-file met de grafieken te laten importeren.

Het is alleen een echte hetze als het uit Hetzerath komt, anders is het gewoon sprankelende ophef.


  • DexterDee
  • Registratie: November 2004
  • Laatst online: 18:45

DexterDee

I doubt, therefore I might be

Da's niet zo heel moeilijk. Ik zal je met het moeilijkste helpen, het importeren van een HTML bestandje in Lotus Notes en converteren naar Notes Rich Text. Daarna een mailtje ervan maken en uitsturen is kinderspel :)

Het stukje LotusScript:
Visual Basic:
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
Type EditImportData
    strFileName As String * 100
    lngFontID As Long
End Type

Declare Function ImportHtmlTextFile Lib "NIHTML" Alias "ImportHtmlTextFile" _
(  D As EditImportData, Byval F As Integer, Byval M As Long, Byval A As String, Byval N As String) As Integer
Declare Sub NEMDisplayError Lib "NNOTESWS" Alias "NEMDisplayError" _
(  Byval S As Integer)
Declare Function MailAddMessageBodyComposite Lib "NNOTES" Alias "MailAddMessageBodyComposite" _
(  Byval hM As Long, Byval N As String, Byval F As String) As Integer

Sub ImportHTML(strInputFile, strInputForm, strInputField)
    On Error Goto ErrorHandler
    
    Const TEMP_FILE = "C:\TEMP\NOTESCD.TMP"
    
    Dim typImportData As EditImportData
    Dim intFileID As Integer
    
    typImportData.strFileName = TEMP_FILE
    
    intFileID = ImportHtmlTextFile(typImportData, 3, 0, "", strInputFile)
    If Not intFileID = 0 Then
        NEMDisplayError intFileID
        Goto ErrorResume
    End If
    
    Dim session As New NotesSession
    
    Dim doc As NotesDocument
    Set doc = New NotesDocument(session.CurrentDatabase)
    With doc
        .Form = strInputForm
        intFileID = MailAddMessageBodyComposite(.Handle, strInputField, TEMP_FILE)
        If Not intFileID = 0 Then
            NEMDisplayError intFileID
            Goto ErrorResume
        End If
        .Save True, False
    End With
    
    Kill TEMP_FILE
ErrorResume:
    Exit Sub
    
ErrorHandler:
    Print "Error " & Err() & ": " & Error()
    Resume ErrorResume
    
End Sub
En zo roep je het aan:
Visual Basic:
1
Call ImportHTML("C:\mijn.html", "FormName", "RichTextVeld")
Ik neem aan dat je verder genoeg LotusScript kennis hebt on dit varkentje te wassen :Y)

Veel succes :)

Klik hier om mij een DM te sturen • 3245 WP op ZW