I need to send some emails at a specific time of the day and need to do it every day. How can I do it with Outlook?
Delay delivery helps to send mail at a specific of time; but how to create new mail to be sent for tomorrow?
Super User is a question and answer site for computer enthusiasts and power users. It only takes a minute to sign up.Sign up to join this community
OK, here is a quick explanation of one way to do this. It requires setting up a macro in the Outlook VBA editor. If you have never done this before, there is a bit of setup that you'll have to trudge through first. (Note that, while creating macros for Outlook is not hard, there are several places where mistakes can happen which can lead to confusion and frustration. If you are a beginner at this and want to continue, I highly recommend carefully reading the entire MSDN page linked to in the first step below.)
1. Open the VBA editor.
On the Outlook ribbon bar, click on the Developer tab (enable it here), and then click
Visual Basic. If you don't have a Developer tab on your ribbon bar, you will have to enable it. Refer to the instructions on this MSDN page (scroll down to the section labelled "To enable the Developer tab". NOTE: you should also read the section of that site labelled "To enable macros"). Pressing the
Visual Basic button will cause a whole new application to open up (the VBA editor); open
ThisOutlookSession, the big pane in the middle is where your macro will go.
To use, press Alt+F11 to open the VBA editor then copy the code and paste it into ThisOutlookSession. (reference)
2. Paste the following macro at the bottom of the macro pane.
'Original function written by Diane Poremsky: http://www.slipstick.com/developer/send-email-outlook-reminders-fires/ Private Sub Application_Reminder(ByVal Item As Object) Dim objMsg As MailItem Set objMsg = Application.CreateItem(olMailItem) If Item.MessageClass <> "IPM.Appointment" Then Exit Sub End If If Item.Categories <> "Automated Email Sender" Then Exit Sub End If objMsg.To = Item.Location objMsg.Subject = Item.Subject objMsg.Body = Item.Body objMsg.Send Set objMsg = Nothing End Sub
3. Create a new Category.
The new created Category (how to) should be called
Automated Email Sender (this is an arbitrary title, but if you change it, make sure to change it in the macro too).
4. Create a Calendar appointment.
Place the recipient emails in the "Location" field.
The "Subject" field of the appointment will be used as the Subject field of the email.
The "Body" of the appointment will be the Body of the email.
Set up the appointment to recur on whatever schedule you want. Make sure to set a reminder.
Set up the reminder time
Also, don't forget to assign the Category that you created in the previous step.
Test it out first by putting your own email address in the Location field.
That's it! As long as your macro security settings are set right, this macro will cause an email to be sent automatically whenever a reminder gets triggered on an appointment with the specified Category.