Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 191
  • Last Modified:

Can you schedule mail to be sent ahead of time?

I need to now if and how to set up certain emails to go when I am not here? Is there a way to schedule this??
0
skatpmq
Asked:
skatpmq
  • 2
1 Solution
 
snocrossCommented:
You can create a separate db and copy the mail form from your mail template.  Create an agent (ie: called Deliver Mail that runs hourly or daily or whenever you want)

Here's the code to mail the documents in your new db:

Dim Session As New Notessession
     Dim SourceDb As NotesDatabase
     Dim Db As NotesDatabase
     Dim SourceView As Notesview
     Dim DestView As Notesview
     Dim SourceDoc As Notesdocument
     Dim DestDoc As Notesdocument
     Dim p As Variant
     Dim x As Variant
     Dim y As Variant
     Dim z As Variant
     Dim Tot As Integer
     Dim SourceDealNum As String
     Dim SourceLineNum As String
     Dim TotalPaid As String
     Dim Payment As Integer
     Dim NewDeal As String
     Set db = session.Currentdatabase
     
     Print("Started process")
     Set SourceDb = New NotesDatabase("server", "web\router.nsf")
     Set SourceView = SourceDb.GetView("Undelivered")
     SourceView.AutoUpdate = False
     Set SourceDoc = SourceView.GetFirstDocument
     
     While Not SourceDoc Is Nothing    
          Dim memo1 As New Notesdocument(Db)
          memo1.form = "Memo"
          memo1.Subject = SourceDoc.Subject
          memo1.SendTo = SourceDoc.SendTo
          memo1.CopyTo = SourceDoc.CopyTo
          memo1.BlindCopyTo = SourceDoc.BlindCopyTo
          Dim rtitemA As NotesRichTextItem
          Dim rtitemB As NotesRichTextItem
          Set rtitemA = SourceDoc.GetFirstItem( "Body" )
          Set rtitemB = memo1.CreateRichTextItem( "Body" )          
          Call rtitemB.AppendRTItem( rtitemA )        
          Call memo1.Send(False)
          Print("Mail Sent")        
          SourceDoc.Delivered = "Yes"
          Call SourceDoc.Save(True,True)
          Set SourceDoc = SourceView.GetNextDocument(SourceDoc)
     Wend
     
     Print("Completed successfully")

You could also do something similar in your mail file except you would have to turn the template off and you may not want to do that.  
0
 
snocrossCommented:
Important to remember:  if you schedule the agent to run on a server it will say the message is from the server.  If you want the message to appear as though it came from you then you will need to schedule the agent to run locally on your pc.
0
 
DButlerCommented:
Here's a bit of a kludge, but it's fast and easy:

-- Create a folder called "System Folder" (or something similar -- maybe call it zzzSystem to sort it to the bottom of the list).

-- put ONE (and only ever ONE) document in the folder.  Give the document a subject like "SYSTEM DOCUMENT - DO NOT DELETE".

-- Create a scheduled agent that:
----- acts on "All documents in database"
----- IMPORTANT:  has a search criteria for the agent of "In folder" for your newly created system folder.
----- has a simple action (or formula if you wish) of "Send mail message." with the blanks filled in appropriately.

Because you use the a simple action or formula language, the message will appear to come from you and not the server.  If you use LotusScript, then head snocross' warning (but there are script ways around that, too).
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now