Send Emails Automatically

See how to send emails automatically and regularly at certain intervals.

Last modified: 2006/01/19 | Accessed: 175.308  | #10
◀ Previous sample Next sample ▶
Determine the "identity" of your emails. Set with SAM the sender and the folder folder for sent items with the help of rules.

Do you have to send an email every day at the same time? You can use a Reminder to achieve that.

Create a TaskItem with a unique subject and determine the reminder time. Set the ReminderSubject variable to your subject. Please see the DateAdd function in the sample: DateAdd('d', 1, oTask.ReminderTime) adds one day to the current reminder time. For a list of what parameter are possible, please set the cursor on to the function name (DateAdd) and press F1 for the VBA help.

tip  How to add macros to Outlook
Private Sub Application_Reminder(ByVal Item As Object)
  SendAutoEmail Item
End Sub

Private Sub SendAutoEmail(Item As Object)
  Dim oTask As Outlook.TaskItem
  Dim oMail As Outlook.MailItem
  Dim oFld As Outlook.MAPIFolder
  Dim ReminderSubject As String
  Dim EmailSubject As String
  Dim SendTo As String
  Dim Message As String

  'Task item
  ReminderSubject = "DailyMailReminder"

  SendTo = "name@domain.com"
  EmailSubject = "my daily email"
  Message = "this message was sent automatically"

  If TypeOf Item Is Outlook.TaskItem Then
    Set oTask = Item
    If LCase$(oTask.Subject) = LCase$(ReminderSubject) Then

      'Set next reminder
      oTask.ReminderTime = DateAdd("d", 1, oTask.ReminderTime)

      'Create email
      Set oMail = Application.CreateItem(olMailItem)
      oMail.Subject = EmailSubject
      oMail.Body = Message
      oMail.Recipients.Add SendTo
    End If
  End If
End Sub
ReplyAll ReplyAll
ReplyAll alerts you before unintentionally replying all, or if you are a confidential BCC recipient of the e-mail.
email  Send a message