Note: The other languages of the website are Google-translated. Back to English
Log in  \/ 
x
or
x
Register  \/ 
x

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


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.

First Part: 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.

Second Part: 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.

Third Part: 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:

Last: 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.


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
 

Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Marcio Filho · 22 days ago
    @Tony Fecteau Thank you very much Tony, you helped me a lot :D
  • To post as a guest, your comment is unpublished.
    JayPie · 29 days ago
    Is there a way to modify the code to only send the email if you hit "dismiss" and don't send the email if you "dismiss all" or some other button?
    I want to be able to chose each day if I send the email, but still want to be reminded each day.
  • To post as a guest, your comment is unpublished.
    rayray4105 · 2 months ago
    For me the VBA halted on 'CStr(Environ("USERPROFILE"))'.

    I have moved both lines starting with 'xFldPth' just below 'On Error Resume Next' which resulted in the code to be fully executed
  • To post as a guest, your comment is unpublished.
    Fishy · 4 months ago
    @katie Same here. Have you found what make it stop working?
  • To post as a guest, your comment is unpublished.
    FishyD · 4 months ago
    @katie Same here, it was working great and over the last day or so, just broke.
  • To post as a guest, your comment is unpublished.
    katie · 4 months ago
    This was working for me for several months. All of the sudden, the reminders are still appearing, but the emails are no longer being sent. Any ideas?
  • To post as a guest, your comment is unpublished.
    Sohail · 4 months ago
    I am using Office 2016. I am unable to click on CATEGORIZE when doing through NEW APPOINTMENT but Categorize function properly when using NEW EMAIL.
  • To post as a guest, your comment is unpublished.
    Julia · 4 months ago
    Hi. How do I add attachments? I need to pull specific files each month and attach to the email. Is there a way to do this?
  • To post as a guest, your comment is unpublished.
    Phoebe · 5 months ago
    The emails are being generated but are going to draft folder and not being sent out automatically. How would I fix this?
  • To post as a guest, your comment is unpublished.
    Tellett · 7 months ago
    This didn't work for me until I realized that naming the category "Send Scheduled Recurring Email" instead of "Send Schedule Recurring Email" mattered. It was a comment below that brought it to my attention. Thanks!
  • To post as a guest, your comment is unpublished.
    yang · 9 months ago
    Doesn't work for Outlook 2016
  • To post as a guest, your comment is unpublished.
    Tony · 9 months ago
    I followed the instructions, but I get a .dll error when I check microsoft word 16.0 object library. I don't know if it matters, but the other object libraries show up as 14.0
  • To post as a guest, your comment is unpublished.
    Nicola · 10 months ago
    @Jon This worked for me thank you

  • To post as a guest, your comment is unpublished.
    Ricky · 10 months ago
    @odhinto@gmail.com I can't get it to work either in Outlook 2016
  • To post as a guest, your comment is unpublished.
    Vinodh Kumar · 10 months ago
    @GP Hi,

    I am getting syntax error. Help me pls.
  • To post as a guest, your comment is unpublished.
    Vinodh Kumar · 10 months ago
    @crystal Hi,
    I am facing the same issue. can you please post the updated code.

    Also is there any way to include email address as CC ?

  • To post as a guest, your comment is unpublished.
    Terri · 10 months ago
    often the location bar is unable to contain all of the email addresses for me, I can certainly use a distribution list or group contact but how do I unpack it so the resulting email shows the addresses individually?
  • To post as a guest, your comment is unpublished.
    Tony Fecteau · 10 months ago
    @Jarrett I have same issue, where on the code we have to adding
    ".Body = Item.Body" under the line ".Subject = Item.Subject"
  • To post as a guest, your comment is unpublished.
    sangeeta · 10 months ago
    It worked very well with MS Office 365 -outlook but then stopped working. I cant figure out what changed. Did anyone else run into similar problem? Any suggestion on how to debug what is going on?
  • To post as a guest, your comment is unpublished.
    ofek · 10 months ago
    I can confirm it works on Outlook 2019 as well
  • To post as a guest, your comment is unpublished.
    Kristen · 10 months ago
    Hi, been using this without issue for a few years. Suddenly in the last couple of months, it stopped sending the email. Reminder still goes out to me at least. I came here and and see the code has been updated, which I did and now I get "userdefined type not identified" error that others seem to have gotten. Is there a fix for this or no?
  • To post as a guest, your comment is unpublished.
    odhinto@gmail.com · 1 years ago
    I have followed all the instructions: I enabled Macros; I configured the appointment as instructed and added the VBA Macro....I checked all the references as instructed.
    The email is not being sent, and I'm not getting any compiler errors. What could be the problem? I'm using Outlook 2016.
  • To post as a guest, your comment is unpublished.
    Andrey · 1 years ago
    Is there a way to send the email from certain different e-mail (SendAs or SendOnBehalfOfName)?
  • To post as a guest, your comment is unpublished.
    Jon · 1 years ago
    @Scott Pardon me if this is something you already know, but without having other details besides what you posted, I suggest you make sure both microsoft office 16.0 object library AND microsoft word 16.0 object library are selected from step 4 above.
  • To post as a guest, your comment is unpublished.
    Jarrett · 1 years ago
    @Marjorie Try adding ".Body = Item.Body" under the line ".Subject = Item.Subject" in the VBA Code mentioned in this article.
  • To post as a guest, your comment is unpublished.
    Scott · 1 years ago
    @Ron Same issue here
  • To post as a guest, your comment is unpublished.
    Scott · 1 years ago
    Every time any reminder pops up, i am getting a VBA error of "userdefined type not identified".
  • To post as a guest, your comment is unpublished.
    joaquimlmpires@gmail.com · 1 years ago
    Hi. I know this is an old post but I'm trying to use it to send a periodic email.

    I'm able to complete all the steps but the code line:
    Dim xItemDoc As Word.Document
    prompts a compile error: "userdeffined type not defined "

    I replaced with:
    Dim xItemDoc As DocumentItem

    compiles ok but emai does not get sent.

    anyone can help?

    thank you
  • To post as a guest, your comment is unpublished.
    Ron · 1 years ago
    I get the reminder but no email, ideas?
  • To post as a guest, your comment is unpublished.
    Sol Roberts-Lieb · 1 years ago
    @Mads I had the same error as well.
  • To post as a guest, your comment is unpublished.
    Mads · 1 years ago
    @Katie I get the same error. What's the solution here?
  • To post as a guest, your comment is unpublished.
    Marjorie · 1 years ago
    I received the email, however the body of the email is blank. I have put text and a signature in the body but when the email comes the body of the email is blank.
  • To post as a guest, your comment is unpublished.
    Katie · 1 years ago
    I have followed all instructions and made sure the object library was checked etc but get the error 'compile error user type not defined' when it's time for the reminder.
    Any solutions to this?

    Thanks!
  • To post as a guest, your comment is unpublished.
    Vinay · 1 years ago
    It worked for me on Testing but when I made the changes to send it actually it didn't worked. Is there any specific modifications I needed to make? I see my Macro is disabled but it's on office system so I can't change it but assuming it worked for the first time it should work alright again; right?
  • To post as a guest, your comment is unpublished.
    OrionStar · 1 years ago
    @tricia If they change every week then it's not able to work really. What changes? if it's an attached file that should be fine because it grabs the file each time.
  • To post as a guest, your comment is unpublished.
    crystal · 1 years ago
    @Sai Swaroop Hi,
    Sorry for the inconvenience. The code has been updated to solve the problem. Please have a try and thank you for your comment.
  • To post as a guest, your comment is unpublished.
    tricia · 1 years ago
    how can this be sent to emails that change on a weekly basis?
  • To post as a guest, your comment is unpublished.
    anne · 1 years ago
    this is not working for me
  • To post as a guest, your comment is unpublished.
    Sai Swaroop · 1 years ago
    I Tried using the above code it works very fine. But the problem is in the body of the email I am including Pictures, text and Hyperlinks to that. By the time mail reaching to the receiver everything is converting as a Text. Can anyone help me on this
  • To post as a guest, your comment is unpublished.
    Aarti · 1 years ago
    superb works for me thanks yaa
  • To post as a guest, your comment is unpublished.
    Priyank · 1 years ago
    It did work on my laptop before. I somewhat messed up my VBA. now it's not working..
    How do I restart of clear my VBA?

    I am not a programmer. I just wanted automatic email generated and googled it. Tried various things and then came across this post.

    It really worked well before. Please help
  • To post as a guest, your comment is unpublished.
    aerin.melvin@gmail.com · 1 years ago
    How do you add an attachment to go with the email that is sent?
  • To post as a guest, your comment is unpublished.
    Aerin · 1 years ago
    Is there a way to make this BCC?
  • To post as a guest, your comment is unpublished.
    crystal · 1 years ago
    @Jan Hi Jan,
    Please go to the Sent Items folder to check for the sending email.
  • To post as a guest, your comment is unpublished.
    Daniele · 1 years ago
    @Kevin Good, now it works!
    I've just one problem. If my Outlook client application is close, it don't work ...any solutions?
  • To post as a guest, your comment is unpublished.
    Jan · 1 years ago
    I got to the VBA code copied, pasted, and saved fine. But no reminder popped up for me to dismiss. Will this still send?
  • To post as a guest, your comment is unpublished.
    Rebeccah · 2 years ago
    @SS It's in the location field rather than in an invitee field, so, no - no invite goes out to the location address(es). No reminders to the location address(es) normally, either. This code is triggered by the application_reminder event for this appointment and adds functionality to it, to

    - create an e-mail message

    - put the appointment location address(es) in the To field of the e-mail message.

    - put the appointment subject line in the Subject field of the e-mail message.

    - put the appointment body in the Body field of the e-mail message.

    - send the e-mail message.
  • To post as a guest, your comment is unpublished.
    Rebeccah · 2 years ago
    @Johan Replace
    If Item.Categories <> "Send Schedule Recurring Email" Then Exit Sub
    with
    If Left(Item.Categories,29) <> "Send Schedule Recurring Email" Then Exit Sub


    Or, if your category names are all different, then
    If Item.Categories <> "First category name" AND Item.Categories <> "Second category name" AND Item.Categories <> "something completely different" Then Exit Sub
  • To post as a guest, your comment is unpublished.
    Tomy · 2 years ago
    It's great work, tks
  • To post as a guest, your comment is unpublished.
    john · 2 years ago
    This is limited on the number of email addresses you can add in the locations. Any work arounds?