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

Register

or

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

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.

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

Say something here...
symbols left.
###### or post as a guest, but your post won't be published automatically.
• To post as a guest, your comment is unpublished.
· 3 years ago
Hi,
Thank you so much. It works for Outlook 2016, the version we use at our company.
I have a question. What do I need to add to the VBA so that it will also grab pictures? I included picture/graphics in my Body. The email grabbed text only.

Ann
• To post as a guest, your comment is unpublished.
· 3 years ago
For those it's not working - You need to enable Macro commands on Outlook first
• To post as a guest, your comment is unpublished.
· 3 years ago
Is it necessary to attach a reminder to trigger the email?
• To post as a guest, your comment is unpublished.
· 3 years ago
Hi there, my appointment did not send. I am unsure if there is an issue with the code I am using. I want to send the email to 6 addresses and have separated them with semi colons; do I need to put the actual email addresses in to the code? Here is the code I used:

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 = "single or multiple emails separated by semi colon ";" "
MItem.CC = "single or multiple emails separated by semi colon ";" "

MItem.Subject = Item.Subject
MItem.Body = Item.Body
With MItem
.Attachments.Add "network path of the file to be attached. eg: \\abc\def\ghi.doc"
.Display

End With
MItem.Send
Set MItem = Nothing
End Sub

• To post as a guest, your comment is unpublished.
· 3 years ago
God Day,
Any question about Outlook, please don’t hesitate to post in our forum: https://www.extendoffice.com/forum.html.
You will get more supports about Outlook from our Outlook professional.
• To post as a guest, your comment is unpublished.
· 3 years ago
It didnt work for me
• To post as a guest, your comment is unpublished.
· 3 years ago
Good Day,
The code has been updated in the post. Please try it again.
• To post as a guest, your comment is unpublished.
· 3 years ago
Same here, Office 2010 and 2016. Works great when setting up the First occurance, does not work when the next recurring reminder triggers the next week.
• To post as a guest, your comment is unpublished.
· 3 years ago
Good Day,
The code has been updated in the post. Please try it again.
• To post as a guest, your comment is unpublished.
· 3 years ago
The first automatic one of the series worked but no more have
• To post as a guest, your comment is unpublished.
· 3 years ago
I mean "dismiss"
• To post as a guest, your comment is unpublished.
· 3 years ago
Nothing is happening after I click submit.
• To post as a guest, your comment is unpublished.
· 3 years ago
Very useful, thank you for taking the time to create this.
• To post as a guest, your comment is unpublished.
· 3 years ago
I do not receive an email after I hit DISMISS ... I did use <> in the location field - is that correct?
• To post as a guest, your comment is unpublished.
· 3 years ago
Good Day,
The <> does not effect the sending. Actually there is something wrong with the VBA code, and the code now is updated in the post. Please try again. Thank you!
• To post as a guest, your comment is unpublished.
· 3 years ago
Hi All,

I have added code to dismiss reminder once it was fired, so that we would not accidentally click snooze and cause the email to be resend. Also, code was added so that the full formatted email body is copied (including picture and attachment). Hope the code below will resolve all your issues.

Code as below:

Dim WithEvents objReminders As Outlook.Reminders
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.CC = ""
MItem.BCC = ""
MItem.Subject = Item.Subject
MItem.BodyFormat = olFormatHTML
Item.GetInspector().WordEditor.Range.Copy
MItem.GetInspector().WordEditor.Range.Paste
MItem.Display
MItem.Send
Set MItem = Nothing
End Sub

Private Sub Application_Startup()
Set objReminders = Application.Reminders
End Sub
Private Sub objReminders_ReminderFire(ByVal ReminderOBject As Reminder)

If ReminderOBject.Item.Categories <> "Send Schedule Recurring Email" Then Exit Sub

ReminderOBject.Dismiss

End Sub

Regards,
Engyaogoh
• To post as a guest, your comment is unpublished.
· 4 years ago
<HELP>

hi I found out one.
The first test of the code, it works properly.
But I found out the next day to test, I found out it is not working anymore. (not sending the mail to the destination)

I have tried the macro setting, remove categories, seem not working too.
• To post as a guest, your comment is unpublished.
· 3 years ago
Hey,
The code is now updated in the post, please try again! Thank you!
• To post as a guest, your comment is unpublished.
· 4 years ago
A lot of people have asked about CC and adding an attachment and sending the mail to multiple people. Please use the VBA code below in place of the one provided in the VBA code step above.

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 = "single or multiple emails separated by semi colon ";" "
MItem.CC = "single or multiple emails separated by semi colon ";" "

MItem.Subject = Item.Subject
MItem.Body = Item.Body
With MItem
.Attachments.Add "network path of the file to be attached. eg: \\abc\def\ghi.doc"
.Display

End With
MItem.Send
Set MItem = Nothing
End Sub
• To post as a guest, your comment is unpublished.
· 1 years ago
Hi,

I am getting syntax error. Help me pls.
• To post as a guest, your comment is unpublished.
· 4 years ago
Works well for Outlook 365! Thank you for sharing the code!
• To post as a guest, your comment is unpublished.
· 4 years ago
It is not working in Outlook 2013. Any help?
• To post as a guest, your comment is unpublished.
· 3 years ago
Dear Nani,
The code has been updated to be compatible with Outlook 2013.
• To post as a guest, your comment is unpublished.
· 4 years ago
if my outlook is closed then mail is not sent. Is there any way to make it even when my outlook is closed
• To post as a guest, your comment is unpublished.
· 4 years ago
What Happens if I want to CC people?
• To post as a guest, your comment is unpublished.
· 4 years ago
Getting "Syntax Error " in VBA window. Using Outlook 2016 on Windows8
• To post as a guest, your comment is unpublished.
· 3 years ago
Dear Mac,
The code has been updated to be compatible with Outlook 2016.
• To post as a guest, your comment is unpublished.
· 4 years ago
I've setup multiple emails in outlook, how would it know to send it from?
• To post as a guest, your comment is unpublished.
· 4 years ago
It will not let me add the amount of people I need to send too ?
• To post as a guest, your comment is unpublished.
· 4 years ago
Asked and answered above. You add a distribution list (Outlook Contact Group) and use @ in the group name i.e. 'Spec@Group'. Put all the people you like in that group.
• To post as a guest, your comment is unpublished.
· 4 years ago
Sorry - I'm not fully understanding "Spec@Group" - If I create a group called "NetworkMeeting" and add all the people in that, would the address be NetworkMeeting@MyDomain.com?
• To post as a guest, your comment is unpublished.
· 4 years ago
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)

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
• To post as a guest, your comment is unpublished.
· 4 years ago
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...
• To post as a guest, your comment is unpublished.
· 4 years ago
I need to know how\if you can attached an excel spreed sheet?
• To post as a guest, your comment is unpublished.
· 4 years ago
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???
• To post as a guest, your comment is unpublished.
· 4 years ago
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.
• To post as a guest, your comment is unpublished.
· 4 years ago
Alex

Mine shows up with the formatting stripped out too. How do we keep it?
• To post as a guest, your comment is unpublished.
· 4 years ago
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.
• To post as a guest, your comment is unpublished.
· 4 years ago
Hi, How did you change the macro security settings in outlook and what did you change it to?
• To post as a guest, your comment is unpublished.
· 5 years ago
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?
• To post as a guest, your comment is unpublished.
· 5 years ago
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.
• To post as a guest, your comment is unpublished.
· 5 years ago
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
• To post as a guest, your comment is unpublished.
· 5 years ago
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.
• To post as a guest, your comment is unpublished.
· 6 years ago
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!
• To post as a guest, your comment is unpublished.
· 6 years ago
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:
• To post as a guest, your comment is unpublished.
· 4 years ago
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
• To post as a guest, your comment is unpublished.
· 3 years ago
Make another Distribution list that contains/points to the other Distribution Lists that you already have setup that you want to include.
• To post as a guest, your comment is unpublished.
· 6 years ago
Is there a way to send to distribution list in contacts?
• To post as a guest, your comment is unpublished.
· 6 years ago
Hey, check this out - I think you'll absolutely love this feature.. No more weekly template emails
• To post as a guest, your comment is unpublished.
· 6 years ago
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.
• To post as a guest, your comment is unpublished.
· 6 years ago
do you need to have outlook open / running to send the recurring mail ?
• To post as a guest, your comment is unpublished.
· 6 years ago
how do you turn it off?
• To post as a guest, your comment is unpublished.
· 6 years ago
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.
• To post as a guest, your comment is unpublished.
· 7 years ago
You might also consider using Windows Task Scheduler for something like this. It is easy to use and can even handle attachments.
• To post as a guest, your comment is unpublished.
· 5 years ago
Which code are you using? It didn't attach to the email the attachments.
• To post as a guest, your comment is unpublished.
· 5 years ago
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.
• To post as a guest, your comment is unpublished.
· 7 years ago
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?
• To post as a guest, your comment is unpublished.
· 6 years ago
[quote name="Kyle"]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?[/quote]
Hi
Did you find a solution for this.
I need it to :)

Kim
• To post as a guest, your comment is unpublished.
· 6 years ago
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
• To post as a guest, your comment is unpublished.
· 7 years ago
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
• To post as a guest, your comment is unpublished.
· 6 years ago
[quote name="Wonderful"]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[/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.
• To post as a guest, your comment is unpublished.
· 7 years ago
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?
• To post as a guest, your comment is unpublished.
· 7 years ago
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.
• To post as a guest, your comment is unpublished.
· 4 years ago
did you ever get an answer on how to add an attachment? Thanks!
• To post as a guest, your comment is unpublished.
· 7 years ago
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.
• To post as a guest, your comment is unpublished.
· 7 years ago
The method did help. It worked for the initial one appointment created when I was testing it out. But then it stopped working later.
• To post as a guest, your comment is unpublished.
· 7 years ago
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?