Note: The other languages of the website are Google-translated. Back to English

How to send a schedule recurring email in Outlook?

In Microsoft Outlook, you can easily send a schedule recurring appointment, meeting or task to others. But if you just want to send a schedule recurring email without any appointment, meeting or task, how can you do? Unfortunately, Outlook provides no feature for sending schedule recurring email, but in our tutorial, we will show you how to send a schedule recurring email in Outlook.

Send a schedule recurring email in Outlook with VBA code

Easily send schedule recurring emails in Outlook with an amazing tool


Send a schedule recurring email in Outlook with VBA code

This tutorial is divided into four parts, you will succeed to send a schedule recurring email after finish these parts. Please do as follows.

Part 1: Create a new appointment

1. Please navigate to the Calendar view by clicking Calendar in the Navigation Pane, and then create a new appointment by clicking New Appointment under Home tab.

3. In the Appointment dialog under Appointment tab. You need to:

A: Type in the Subject B: Enter the recipients’ email addresses in the Location
C: Configure the Start time and the End time D: Select the reminder under the Reminder drop-down list.
If you choose 15 minutes, it means it will remind you 15 minutes early when the email is sent.
E: Compose your Appointment body.

Note: The Appointment Subject will become the recurring email subject; and the Appointment body will become the recurring email body when the recipients received the email.

Part 2: Create a new category

Now you need to create a new category named “Send Schedule Recurring Email” as follows:

1. In the Appointment dialog, please click Categorize > All Categories in the Tags group under Appointment tab.

2. When the Color Categories dialog popping up, please click New button. In the Add New Category dialog, type “Send Schedule Recurring Email” in the Name field; and then choose a color in the Color drop-down list. Then click OK.

3. Then you will see the “Send Schedule Recurring Email” category is listed out, please check the box, and then click OK button.

Part 3: Set the Recurrence

Now, it is time to set the recurrence for the appointment.

1. Click Recurrence in the Options group under Appointment tab. See screenshot:

2. In the Appointment Recurrence dialog, configure your Recurrence pattern. If you need an end time, please configure it under Range of recurrence. And then click OK.

3. When it returns to the Appointment dialog, please click Save & Close button. See screenshot:

Part 4: Use the VBA code for sending the Schedule Recurring Email

1. Please press Alt + F11 to open the Microsoft Visual Basic for Applications dialog.

2. Double click on Project1 > Microsoft Outlook Object > ThisOutlookSession in the left pane. See screenshot:

3. Copy and paste the following VBA code to the VBA editor. And then click Save button.

VBA: sending schedule recurring email

Private Sub Application_Reminder(ByVal Item As Object)
'Updated by Extendoffice 20200522
Dim xMailItem As MailItem
Dim xItemDoc As Word.Document
Dim xNewDoc As Word.Document
Dim xFldPath As String
On Error Resume Next
If Item.Class <> OlObjectClass.olAppointment Then Exit Sub
If Item.Categories <> "Send Schedule Recurring Email" Then Exit Sub
Set xMailItem = Outlook.Application.CreateItem(olMailItem)
Set xItemDoc = Item.GetInspector.WordEditor
xFldPath = CStr(Environ("USERPROFILE"))
xFldPath = xFldPath & "\MyReminder"
If Dir(xFldPath, vbDirectory) = "" Then
    MkDir xFldPath
End If
xFldPath = xFldPath & "\AppointmentBody.xml"
xItemDoc.SaveAs2 xFldPath, wdFormatXMLDocument ' wdFormatXML
Set xNewDoc = xMailItem.GetInspector.WordEditor
VBA.DoEvents
xNewDoc.Application.Selection.HomeKey
xNewDoc.Activate
xNewDoc.Application.Selection.InsertFile FileName:=xFldPath, Attachment:=False
With xMailItem
    .To = Item.Location
    .Recipients.ResolveAll
    .Subject = Item.Subject
    .Send
End With
Set xMailItem = Nothing
VBA.Kill xFldPath
End Sub

4. Click Tools > References to open the References - Project dialog. In the dialog, check the Microsoft Word Object Library option and click the OK button.

5. Press the Alt + Q keys at the same time to close the Microsoft Visual Basic for Applications window.

When the Reminder popping up, the email will be automatically sent to the recipients which you have typed in the Location field in the first part. Then click Dismiss in the Reminder dialog. And the email will be sent recurring every day in this time. See screenshot:

Note: The VBA code was successfully tested in Outlook 2010 and the later versions.


Easily send schedule recurring emails in Outlook with an amazing tool

For many Outlook users, the above method is too tedious to be handled correctly. Here highly recommend the Schedule auto send feature of Kutools for Outlook. With this feature, you can easily create multiple recurring emails, and schedule these emails to send regularly at daily, weekly, monthly or yearly intervals as you need. Please do as follows to get it done.

Go to download Kutools for Outlook and have a try.

1. Click Kutools > Schedule auto send > Create auto send schedule.

2. Then a message window is opening, and you need to:

2.1) Select the email recipients in the To, Cc or Bcc fields as you need, and then fill in the email subject;
2.2) Compose the email body;
2.3) Click Recurrence under the Kutools Recurring tab. See screenshot:

3. Now the Emails Recurrence dialog box pops up, you need to specify the recurring time, recurring pattern and the range of recurrence for the email, and then click the OK button.

4. Now it returns to the message window, click Save & Close button to save the recurring settings and close the window.

Tips: You can repeat the above step 1 to 4 to create multiple recurring emails as you need.

5. Now turn on the feature by clicking Kutools > Schedule auto send > Enable.

6. In the opening Kutools for Outlook dialog box, click OK.

After finishing the above settings, the recurring emails will be sent automatically when the specified date and time is reaching.

Note: You can easily manage your recurring emails as follows.

1. Click Kutools > Schedule auto send > Manage auto send schedule.

2. In the Mange auto send schedule window, you can create new recurring email, edit, delete, turn on or off an existing recurring email as you need. Or you can click the Log icon to view the sending history of the recurring emails.

Click to know more about this feature.

  Kutools for Outlook includes 100+ powerful features for Microsoft Outlook. Free to try with no limitation in 60 days. Download now!


Kutools for Outlook - Brings 100 Advanced Features to Outlook, and Make Work Much Easier!

  • Auto CC/BCC by rules when sending email; Auto Forward Multiple Emails by custom; Auto Reply without exchange server, and more automatic features...
  • BCC Warning - show message when you try to reply all if your mail address is in the BCC list; Remind When Missing Attachments, and more remind features...
  • Reply (All) With All Attachments in the mail conversation; Reply Many Emails in seconds; Auto Add Greeting when reply; Add Date into subject...
  • Attachment Tools: Manage All Attachments in All Mails, Auto Detach, Compress All, Rename All, Save All... Quick Report, Count Selected Mails...
  • Powerful Junk Emails by custom; Remove Duplicate Mails and Contacts... Enable you to do smarter, faster and better in Outlook.
shot kutools outlook kutools tab 1180x121
shot kutools outlook kutools plus tab 1180x121
 
Comments (167)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
The method did help. It worked for the initial one appointment created when I was testing it out. But then it stopped working later.
This comment was minimized by the moderator on the site
I had the same issue, I have repeated the steps multiple times and now it isn't working at all, no emails being sent or anything Have you been able to fix it?
This comment was minimized by the moderator on the site
Hi i was able set up an recurring email by following the above steps, but when i created an Hyperlink in the body of an Appointment, when the event was triggered and i got an mail in the mail the Hyperlink was converted to an Raw link. Any Help is Appreciated, Thanks.
This comment was minimized by the moderator on the site
Thank you! This worked. Is there a way to include an attachment in the email that is sent out? I tried a test with adding the attachment to the calendar event but it doesn't come through in the email.
This comment was minimized by the moderator on the site
did you ever get an answer on how to add an attachment? Thanks!
This comment was minimized by the moderator on the site
I got this to work for the test email, but now it no longer does anything, and I've deleted everything and repeated steps, is there more to this? I am on outlook 2013 as well
This comment was minimized by the moderator on the site
I've had the same problem. This worked the very first time but the recurring appointment reminder doesn't seem to have triggered the email. Has anyone found a solution to this problem?
This comment was minimized by the moderator on the site
[quote]I got this to work for the test email, but now it no longer does anything, and I've deleted everything and repeated steps, is there more to this? I am on outlook 2013 as wellBy Wonderful[/quote] Did you ever resolve this? I just set this up and am seeing the same thing you did. Worked great the first time then nothing.
This comment was minimized by the moderator on the site
I sorted this out eventually by enabling macros in Outlook which by default is switched off. Only problem I have now is that the text in the e-mail is plain text only, no bold, font size or colour changes etc. come across. Is there any way to change the code above so you have RTF or HTML text in the e-mail?
This comment was minimized by the moderator on the site
Hi Did you solve this. I have the same problem Tried this, but not working. Sub SetMailFormat_2002_2003_2007_2010(ByRef mail As Object) Dim mailFormat As System.Int32 mailFormat = Convert.ToInt32(mail.GetType().InvokeMember("BodyFormat", _ Reflection.BindingFlags.GetProperty, Nothing, mail, Nothing)) 'OlBodyFormat.olFormatUnspecified = 0 'OlBodyFormat.olFormatPlain = 1 'OlBodyFormat.olFormatHTML = 2 'OlBodyFormat.olFormatRichText = 3 If (mailFormat = 1) Then mailFormat = 2 mail.GetType().InvokeMember("BodyFormat", _ Reflection.BindingFlags.SetProperty, _ Nothing, mail, New Object() {mailFormat}) End Sub Private Sub Application_Reminder(ByVal Item As Object) Dim MItem As MailItem Set MItem = Application.CreateItem(olMailItem) If Item.MessageClass "IPM.Appointment" Then Exit Sub If Item.Categories "Send Schedule Recurring Email" Then Exit Sub MItem.To = Item.Location MItem.Subject = Item.Subject MItem.Body = Item.Body MItem.Send Set MItem = Nothing End Sub
This comment was minimized by the moderator on the site
[quote]I sorted this out eventually by enabling macros in Outlook which by default is switched off. Only problem I have now is that the text in the e-mail is plain text only, no bold, font size or colour changes etc. come across. Is there any way to change the code above so you have RTF or HTML text in the e-mail?By Kyle[/quote] Hi Did you find a solution for this. I need it to :) Kim
This comment was minimized by the moderator on the site
You might also consider using Windows Task Scheduler for something like this. It is easy to use and can even handle attachments.
This comment was minimized by the moderator on the site
I tried with task but i don't gain anything since the attachment does not go to the body of the email. Please advise how you have done it.
This comment was minimized by the moderator on the site
Which code are you using? It didn't attach to the email the attachments.
This comment was minimized by the moderator on the site
how do you turn it off?
This comment was minimized by the moderator on the site
Off the top of my head, to stop sending the recurring e-mail you could either: 1. Delete the appointment altogether. 2. Change or Remove the set Category. 3. Apply an 'End By' Date to the Appointment Recurrence.
This comment was minimized by the moderator on the site
do you need to have outlook open / running to send the recurring mail ?
This comment was minimized by the moderator on the site
Does this code work with Office 365 - Outlook 2013? I have followed the steps several times, enabled the macros, too. I get the reminder and press dismiss but the emails never send.
This comment was minimized by the moderator on the site
Hey, check this out - I think you'll absolutely love this feature.. No more weekly template emails
This comment was minimized by the moderator on the site
Is there a way to send to distribution list in contacts?
This comment was minimized by the moderator on the site
Yes Aaron, I needed to do this myself. I tried adding a distribution list (Outlook Contact Group) called 'Spec Group'. This did not send. However, I changed the list name to 'Spec@Group' (to make it look like an actual e-mail address) and this worked perfectly. It must need the '@' to get picked up. Lucky guess! :lol:
This comment was minimized by the moderator on the site
This worked well. Now I need the same email to go to multiple groups. Can anyone help? Private Sub Application_Reminder(ByVal Item As Object) Dim CF As Folder Set CF = Application.Session.GetDefaultFolder(olFolderContacts) Dim DLI As DistListItem Set DLI = CF.Items("GDL Group 1") Dim MItem As MailItem Set MItem = Application.CreateItem(olMailItem) If Item.MessageClass "IPM.Appointment" Then Exit Sub If Item.Categories "Recurring GDL Recert Email" Then Exit Sub MItem.To = DLI MItem.Subject = Item.Subject MItem.Body = Item.Body MItem.Send Set MItem = Nothing End Sub
This comment was minimized by the moderator on the site
Make another Distribution list that contains/points to the other Distribution Lists that you already have setup that you want to include.
This comment was minimized by the moderator on the site
Is it possible to schedule an email to be sent in outlook when the computer is gone. For example, I would like to send an appointment reminder on Sunday for a meeting on Monday, but I am not at work on Sundays, so how do I get that email to go out on Sunday when I am not at work and my computer is off? Thanks!
This comment was minimized by the moderator on the site
The VBA code did not appear when I pressed ALT & F11. I was able to pull up the Microsoft Visual Basic for Applications, but no code was present. Can you please advise? Thank you, Raj
This comment was minimized by the moderator on the site
Hi Raj, no VBA code should be present. If you follow the guide above, when you double click on "ThisOutlookSession" it is supposed to be empty. You have to copy and paste the code shown in the guide into the "ThisOutlookSession" window and then save it. Hope this helps.
This comment was minimized by the moderator on the site
Hi when i follow all steps and save and go do make another email- the code is still there from last time. Is the code attached to the category selected so no need to add the code for each email?
This comment was minimized by the moderator on the site
Hi Bonnie, the VBA code only needs to be added once (for the first recurring e-mail). If setting up more than one recurring e-mail just miss out that step.
This comment was minimized by the moderator on the site
I have office 2016 and I tried this, following your instructions exactly. It worked!! Thank you so much. I did have to change my macro security settings in Outlook 2016 and VBA editor to get it to work, but once that was done the instructions flowed easily.
This comment was minimized by the moderator on the site
Hi, How did you change the macro security settings in outlook and what did you change it to?
This comment was minimized by the moderator on the site
So two things, one it doesn't show up the way I have written it I.E. there is no bold characters and two how do I add a signature? because it shows up as a hyper link instead of my regular signature. Thanks for the help.
This comment was minimized by the moderator on the site
Alex Mine shows up with the formatting stripped out too. How do we keep it?
This comment was minimized by the moderator on the site
It sent fine, but it dropped all of the fancy formatting I have in my email body. How do I get it to keep this formatting???
This comment was minimized by the moderator on the site
I need to know how\if you can attached an excel spreed sheet?
This comment was minimized by the moderator on the site
Hey guys. This code works great but i have a little problem . The email i am trying to send is part of two categories : Send Message(the macro uses) and PROGRAMARI RED-TEAM. The macro works fine when i only add the Send Message category, but as soon as any other category is added the macro stops sending emails. Here is the code so far. Please help :P Private Sub Application_Reminder(ByVal Item As Object) Dim objMsg As MailItem Set objMsg = Application.CreateItem(olMailItem) 'IPM.TaskItem to watch for Task Reminders If Item.MessageClass "IPM.Appointment" Then Exit Sub End If If Item.Categories "Send Message" Then Exit Sub End If objMsg.To = Item.Location objMsg.BCC = "andrei.buldus@promotor.ws" objMsg.Subject = "Instiintare expirare Autorizatie/Contract Service" objMsg.Body = "Buna ziua," & vbNewLine & vbNewLine & _ "Conform bazei noastre de date, autorizatia/contractul de service, incheiat intre compania nostra si " + Item.Subject + " urmeaza sa expire in termen de 14 zile." & vbNewLine & _ "Acest lucru este in atentia departamentului nostru Service, si urmeaza sa fiti contactati in cel mai scurt timp posibil pentru a stabili cursul actiunilor viitoare." & vbNewLine & vbNewLine & _ "Va multumim pentru increderea acordata." & vbNewLine & _ "Promotor Import Export S.R.L." & vbNewLine & vbNewLine & vbNewLine & _ "Acesta este un mesaj automat." objMsg.Send Set objMsg = Nothing End Sub
This comment was minimized by the moderator on the site
it's stopping because of the line.... If Item.Categories <> "Send Schedule Recurring Email" Then Exit Sub
when you add the other category it is cuasing the exit sub.... maybe use if instr(1,item.categories,"Send Schedule Recurring Email") =0 then exit sub or something like that...
There are no comments posted here yet
Load More
Leave your comments
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations