Skip to main content

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!


Best Office Productivity Tools

Kutools for Outlook - Over 100 Powerful Features to Supercharge Your Outlook

🤖 AI Mail Assistant: Instant pro emails with AI magic--one-click to genius replies, perfect tone, multilingual mastery. Transform emailing effortlessly! ...

📧 Email Automation: Out of Office (Available for POP and IMAP)  /  Schedule Send Emails  /  Auto CC/BCC by Rules When Sending Email  /  Auto Forward (Advanced Rules)   /  Auto Add Greeting   /  Automatically Split Multi-Recipient Emails into Individual Messages ...

📨 Email Management: Easily Recall Emails  /  Block Scam Emails by Subjects and Others  /  Delete Duplicate Emails  /  Advanced Search  /  Consolidate Folders ...

📁 Attachments ProBatch Save  /  Batch Detach  /  Batch Compress  /  Auto Save   /  Auto Detach  /  Auto Compress ...

🌟 Interface Magic: 😊More Pretty and Cool Emojis   /  Boost Your Outlook Productivity with Tabbed Views  /  Minimize Outlook Instead of Closing ...

👍 One-click Wonders: Reply All with Incoming Attachments  /   Anti-Phishing Emails  /  🕘Show Sender's Time Zone ...

👩🏼‍🤝‍👩🏻 Contacts & Calendar: Batch Add Contacts From Selected Emails  /  Split a Contact Group to Individual Groups  /  Remove Birthday Reminders ...

Over 100 Features Await Your Exploration! Click Here to Discover More.

Read More       Free Download      Purchase
 

 

Comments (171)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Bonjour,
J'utilise outlook depuis peu, et j'ai découvert cette manipulation pour envoyer un mail récurrent. Cela a très bien fonctionné la première fois, mais je ne comprends pas, ça ne fonctionne plus. Cela a peut-être de l'importance, mais comme je travaille sur 2 ordinateurs différents, le code VBA a aussi été intégré sur ma deuxième session outlook. Auriez-vous une explication je vous prie ?
Merci d'avance
This comment was minimized by the moderator on the site
Hi Pink,
Which Outlook version are you using? Is there a reminder dialog box popping up afterwards?
This comment was minimized by the moderator on the site
This feature does not work for me no matter what I do and from the above thread, it doesn't look like they are attempting to fix it much less address it--I don't see any responses from the developer.

It's too bad because everything else with this product works very well.
This comment was minimized by the moderator on the site
Hi Rhonda Corn,
Can you provide the emails under the following folder path?
You can compress it and send it to
C:\Users\User Name\AppData\Roaming\ExtendOffice\OutlookKutools\KTORecurringEmail
This comment was minimized by the moderator on the site
How do I get this to run 2 different scheduled emails?
This comment was minimized by the moderator on the site
Hi, 
When I put recipients names into "location" it changes "appointment" to "meeting" invite, is this working as intended? It doesn't allow me to "save and close", but rather "send" the invite now which is not what I want to do.
This comment was minimized by the moderator on the site
Hi,Appointments are not changed to meetings when entering content into the Location field. 
This comment was minimized by the moderator on the site
I scheduled the reoccurring email however instead of sending email on the 30th it sent it today. I checked the settings and is set to send email on 30th at 10 am. Instead it sent the email on the 17th at 5:45 PM
This comment was minimized by the moderator on the site
Hi Leah,Sorry for the trouble, the problem you described cannot be reproduced. Here suggest using the relevant function of KTO to send a schedule recurring email.
This comment was minimized by the moderator on the site
I’m trying to set up a recurring email to be sent. However, it’s not working for some reason. It acts like it’s trying, but I get this error message:
This comment was minimized by the moderator on the site
Hi,You need to enable the Microsoft Word Object Library mentioned in step 4 of the post to avoid this error.
This comment was minimized by the moderator on the site
It is enabled
This comment was minimized by the moderator on the site
It is enabled already
This comment was minimized by the moderator on the site
I had the same problem.  I had a look in the available references list and found a second Microsoft Word 16.0 Object Library that was not enabled. Once I enabled that one, it solved the problem for me!
This comment was minimized by the moderator on the site
Hello, 
Several errors to easily solve if the mail stays in "draft" : 
-> Add .Save juste before .Send
-> Don't close everything too fast or the script wouldn't have the time to send the mail that it has been cleaned... so find a way to delay those 2 rows 
Set xMailItem = Nothing
VBA.Kill xFldPath
Maybe with a thread sleep/wait ? Is the killing mandatory ? wouldn't this be killed when outlook is closed ? For my usecase, it was ok to remove them
This comment was minimized by the moderator on the site
I followed the instruction in this article "How to send a schedule recurring email in Outlook" multiple times, to no avail. I get the popup reminder box but, the e-mail is never sent. I've tried with Kutools for Outlook installed and uninstalled. Still no success in sending a scheduled recurring email in Outlook.

Thanx,
RLB
This comment was minimized by the moderator on the site
I have had the same situation. It was working fine for almost a year and then suddenly stopped working. I've tried recopying the code, delete it completely and start over. Same results- popup reminder box happens, I click ok, and the email is never sent.
This comment was minimized by the moderator on the site
Hi tarnold,Make sure that the category name you created in step 2 is the same as the name specified in the code.
Can you try the VBA below and give me feedback on error you encountered later? Because this problem needs to be reproduced in my case. Or you can also try the third party tool mentioned in the post. Sorry for the inconvenience.

<div data-tag="code">Private Sub Application_Reminder(ByVal Item As Object)
'Updated by Extendoffice 20220114
Dim xMailItem As MailItem
Dim xItemDoc As Word.Document
Dim xNewDoc As Word.Document
Dim xFldPath As String
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
This comment was minimized by the moderator on the site
Crystal,
Sorry for the delay.  I copied your script into VBA.  My category is "Recurring Email", so I made it match in your script.  I set up a recurring email to test it.  The reminder window pops up at the correct time.  I waited a couple of minutes and then clicked 'dismiss'.  The window closes.  No errors.  No email sent.
This comment was minimized by the moderator on the site
Hi Crystal, when using the code above I have this error: 
Erreur de compilation: Type défini par l'utilisateur non défini
it's concerning this lineDim xItemDoc As Word.Document

any ideas?
This comment was minimized by the moderator on the site
Hi Marie-Eve Noel,You need to enable the Microsoft Word Object Library mentioned in step 4 of the post to avoid this error.
This comment was minimized by the moderator on the site
At least yours work for a while. Mine never worked. Contacted Support and was told to post here. I suppose we'll have to wait on the author to respond.
This comment was minimized by the moderator on the site
Hi RodmanB,
Can neither of the two methods described in the article solve the problem?
VBA code and Kutools for Outlook are two different ways to handle the task.I need to know more specific about your issue, such as your Excel version.
This comment was minimized by the moderator on the site
Hi Crystal,
I am using MSOffice 365 for all of the Office products- Outlook, Excel, etc. As I posted 6month ago, it was working fine with my previous MSOffice desktop software.  When I switched to Office 365, it stopped working and I am having the same/similar situation as RodmanB.  The reminder popup occurs, I dismiss it and nothing happens.  The email is not in the draft folder, not in the sent folder, nothing.
This comment was minimized by the moderator on the site
Crystal,   Thanks for help. I replaced the VBCode and made a different test email. It preformed just as the other; reminder pops up, .wav file plays but the email is not sent. I'll install Kutools for Outlook and try that way tomorrow and, will respond with results.
This comment was minimized by the moderator on the site
Crystal,   Unable to install Kutool for outlook, demo license expired. Not willing to buy  just to debug this feature. So, have a great day and thanks for the help.
Thanx,RLB
This comment was minimized by the moderator on the site
Hi have implemented this and there's a couple of issues.1 - if i don't have Outlook opened, the email is not sent --> i guess this is normal, not a big deal anyway.2 - even the appointment appears just once a day and the email sent properly then, i see that the email is sent randomly other extra times during the day. For example, my schedule is daily at 9:00 and this is sent at 9:00 (OK) and also at 17:13 (NOK). I am not being able to identify why, any idea?
thanks.
This comment was minimized by the moderator on the site
What would the VBA code be for this but sending from the recipients of the appointment, not the "location" of the appointment as coded above? I need to send to 20+ people and cannot add enough names as the location fields is limited on characters. Many thanks
This comment was minimized by the moderator on the site
Hi J,You can try the second method "the Schedule auto send feature of Kutools for Outlook" mentioned in the post.
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations