outlook automatic email reminder

Posted on 2006-04-21
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
    LVL 76

    Expert Comment

    by:David Lee
    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:  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

    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
    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

    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 ( a free third-party tool that will click the Yes button for you when the security dialog appears.  Three, use Outlook 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
    Any update, rejus?

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    Better Security Awareness With Threat Intelligence

    See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

    Find out how to use dynamic social media in email signatures with this top 10 DOs & DON’Ts.
    Granting full access permission allows users to access mailboxes present in their database. By giving full access permission one can open and read the content of any mailbox but cannot send emails from that mailbox.
    Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
    This Experts Exchange video Micro Tutorial shows how to tell Microsoft Office that a word is NOT spelled correctly. Microsoft Office has a built-in, main dictionary that is shared by Office apps, including Excel, Outlook, PowerPoint, and Word. When …

    794 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

    Need Help in Real-Time?

    Connect with top rated Experts

    18 Experts available now in Live!

    Get 1:1 Help Now