[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now


outlook automatic email reminder

Posted on 2006-04-21
Medium Priority
Last Modified: 2010-04-02
i need to solve this situation. i have outlook 2003 and i need to have automatic emails sent out for my appointments according to reminder time set. for example i create New appoinment in my calender and add invitees. automatically there is an email sent out right away. But then i set a reminder lets say 1 day. so when that reminder activates i need not only a popup reminder for me but also an automatic email sent out the invitees.
Question by:rejus
  • 4
LVL 76

Expert Comment

by:David Lee
ID: 16515459
Hi rejus,

This is possible in several different ways.  First, a third-party add-in or utility.  Here's a link to a page listing a variety of Outlook add-ins: http://www.slipstick.com/addins/notify.htm  Second, an Outlook macro.  It wouldn't be very tough to do this.  The downside is that macros only run while Outlook is open and running.  It would not be able to send a reminder while you were off-line.  Third, an Exchange event sink.  Event sinks are rules that run at the Exchange server.  They are more difficult to write than an Outlook macro and since they run at the server any error or bug will affect the entire server not just one user.  Of course if you aren't using Exchange, then this isn't an option.


Author Comment

ID: 16520162
exchange server is def not an option
so it leaves me with
1. macro
2 slipstick page addons

can you help me with macro first.
have you have experience or recommend any of the third party addins?
LVL 76

Expert Comment

by:David Lee
ID: 16520628
I don't have any experience with add-ins and can't make a recommendation.  Yes, I can help with the macro.  I'll post the code for that within the next 24 hours or so.
LVL 76

Accepted Solution

David Lee earned 2000 total points
ID: 16520948
The code for doing this appears below.  Follow these instructions to use it.
1.  Start Outlook
2.  Click Tools->Macro->Visual Basic Editor
3.  If not already expanded, expand Microsoft Office Outlook Objects and click on ThisOutlookSession
4.  Copy the code below and paste it into the right-hand pane of the VB Editor window
5.  Edit the code making the changes per the comments I embeded in the code
6.  Click the diskette icon on the toolbar to save the changes
7.  Close the VB Editor
8.  Click Tools->Macro->Security
9.  Set the Security Level to Medium.  
10.  Close Outlook
11.  Start Outlook
12.  Outlook will display a dialog-box warning that ThisOutlookSession contains macros and asking if you want to allow them to run.  Say yes.

Here's how the code works.  It watches for reminders firing and checks to see if a fired reminder is for an appointment.  If it is, then it creates a new message, addresses it to everyone the appointment includes, and sends it off.  The act of sending a message from code is going to trigger Outlook's built-in security.  This will cause a dialog-box to pop up warning that an application is trying to send mail and asking for your permission to allow it to continue.  There are three ways around this.  One, re-write the code as an Outlook add-in.  Add-ins have different security constraints.  Two, use ClickYes (http://www.contextmagic.com/express-clickyes/) a free third-party tool that will click the Yes button for you when the security dialog appears.  Three, use Outlook Redemption (http://www.dimastr.com/redemption) a third-party library that circumvents Outlook security.

'Code Begins Here
Dim WithEvents olkReminders As Outlook.Reminders

Private Sub Application_Quit()
    Set olkReminders = Nothing
End Sub

Private Sub Application_Startup()
    Set olkReminders = Application.Reminders
End Sub

Private Sub olkReminders_ReminderFire(ByVal ReminderObject As Reminder)
    Dim olkReminderMessage As Outlook.MailItem, _
        olkRecipient As Outlook.Recipient
    If ReminderObject.Item.Class = olAppointment Then
        Set olkReminderMessage = Application.CreateItem(olMailItem)
        With olkReminderMessage
            'Change the subject ext on the following line as desired
            .Subject = "Appointment Reminder: " & ReminderObject.Item.Subject
            For Each olkRecipient In ReminderObject.Item.Recipients
                If olkRecipient.Name <> Session.CurrentUser Then
                    .Recipients.Add olkRecipient.Name
                End If
            'Change the message body text on the following line as desired
            .Body = "Please don't forget about this appointment."
        End With
    End If
    Set olkReminderMessage = Nothing
End Sub
'Code Ends Here
LVL 76

Expert Comment

by:David Lee
ID: 16570320
Any update, rejus?

Featured Post

Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article lists the top 5 trialware OST to PST Converter Tools. These tools save a lot of time for users when they want to convert OST to PST after their Exchange server is no longer available or other critical issues with Exchange server or impo…
By default Outlook 2016 displays only one time zone in the Calendar. The following article explains how to display two time zones in one calendar view.
To add imagery to an HTML email signature, you have two options available to you. You can either add a logo/image by embedding it directly into the signature or hosting it externally and linking to it. The vast majority of email clients display l…
CodeTwo Sync for iCloud (http://www.codetwo.com/sync-for-icloud?sts=6554) automatically synchronizes your Outlook 2016, 2013, 2010 or 2007 folders with iCloud folders available via iCloud Control Panel. This lets you automatically sync them with…
Suggested Courses

834 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question