LotusScript Mails på 3 nemme måder

Her er mine foretrukne måder at sende mails på fra LotusScript. Bemærk at de 3 metoder nemt kan kombineres – og at der nemt kan indsættes tabeller/views via AbstractRichText klassen

1. Simpel ‘hardcoded’ mail med pænt formateret RichText

Med få linjers kode kan der oprettes en ny mail og indsættes pænt formateret RichText ved at benyttes AbstractRichText klassen:

Set mail = db.createDocument
 mail.form = “Memo”
 mail.subject = "Eksempel på mail oprettet med AbstractRichText klassen"
 mail.sendto = session.username

 Dim body As New AbstractRichText( mail, "body" ) 'create a New body Field On the mail
 Call body.append( "Hej, \n\nHer er et link til databasen: " )
 Call body.append( db )
 Call body.append( body.getStyle( "bold=True;color=GRAY" ))
 Call body.append( "\n\n\nMed venlig hilsen\n\n" )
 Call body.append( body.getStyle( "bold=False;" ))
 Call body.append( session.commonUsername )

 Call mail.send( False )

2. Mail baseret på et template dokument 

Via én form og view kan der oprettes ‘Mail Skabeloner’ som herefter kan benyttes som udgangspunkt for oprettelse og afsendelse af mails (klassen cls.fw.memo):

'initialize, based on a template
 Dim mail As AbstractMemo
 Set mail = createMemo( db, "TEST" )

 'create the memo and merge with data from the document
 Call mail.create( doc, Nothing )

 'send the mail
 Call mail.send()

På template dokumentet kan (super) brugeren selv redigere mailen og indsætte flette felter. Mail kan både sendes/script som text, html eller richtext. Afsender navnet kan styres med Principal feltet – og agent signer/current user kan skjules helt hvis mail sendes via mail.box:

3. Mail baseret på en on-the-fly template – sendt via mail.box så jeg kan styre afsenderen

Her er kun cls.fw.memo klassen brugt til at oprette en ny Mail Skabelon med indstillinger og herefter afsende mailen via serverens mail.box:

'create the template
 Dim mt As New MemoTemplate()
 Call mt.create( db, "" ) 'create a new blank template with default settings

 'setup
 Call mt.setPostMethod( "mailbox" )
 Call mt.setSender( |"Mickey Mouse" <noreply@majkilde.dk> |, "" )
 Call mt.setSubject( "New mail from majkilde" )
 Call mt.setRecipients( session.UserName, "", "" )

 'initialize, based on the new template
 Dim mail As AbstractMemo
 Set mail = createMemo( db, mt )

 'create the memo and merge with data from the document
 Call mail.create( doc, Nothing )
 Call mail.insert( "Hi, \nThis is a sample mail \n\nDatabase Link" )
 Call mail.insert( doc )

 'send the mail
 Call mail.send()

Links