Outlook:如何在没有答复时自动重新发送邮件
当你向同事、合作伙伴或他人发送了一封需要紧急回复的邮件,如果在指定时间前未收到回复,你可以设置自动重新发送邮件的功能。
使用提醒和VBA设置无回复时自动重新发送
第一部分:设置一个提醒,在指定时间提醒
1. 右键单击你希望在没有回复时重新发送的邮件(从“已发送邮件”文件夹中),在弹出的上下文菜单中,点击“需后续工作” > “添加提醒”。

2. 在弹出的“自定义”对话框中,保持“提醒”复选框被勾选,然后在下面的下拉框中选择你希望收到回复的日期和时间,也可以直接在框中输入日期和时间。点击“确定”。


第二部分:插入VBA代码以在指定时间内无回复时重新发送邮件
3. 按“Alt” + “F11”键启用“Microsoft Visual Basic for Applications”窗口。
4. 在“项目 - Project1”窗格中双击“ThisOutlookSession”以创建一个空白脚本,并将以下VBA代码复制并粘贴到空白脚本中。
VBA:无回复时重新发送邮件
Public WithEvents GInboxItems As Outlook.Items
'UpdatebyExtendoffice20220413
Private Sub Application_Startup()
Dim xInboxFld As Folder
Set xInboxFld = Application.Session.GetDefaultFolder(olFolderInbox)
Set GInboxItems = xInboxFld.Items
End Sub
'Judge
Private Sub GInboxItems_ItemAdd(ByVal Item As Object)
Dim xSentItems As Outlook.Items
Dim xMail As MailItem
Dim i As Long
Dim xSubject As String
Dim xItemSubject As String
Dim xSendTime As String
On Error Resume Next
Set xSentItems = Application.Session.GetDefaultFolder(olFolderSentMail).Items
If Item.Class <> olMail Then Exit Sub
For i = xSentItems.Count To 1 Step -1
If xSentItems.Item(i).Class = olMail Then
Set xMail = xSentItems.Item(i)
xSubject = LCase(xMail.Subject)
xSendTime = xMail.SentOn
xItemSubject = LCase(Item.Subject)
If (xItemSubject = "re: " & xSubject) Or (InStr(xItemSubject, xSubject) > 0) Then
If Item.SentOn > xSendTime Then
With xMail
.ClearTaskFlag
.ReminderSet = False
.Save
End With
End If
End If
End If
Next i
End Sub
'Reminder
Private Sub Application_Reminder(ByVal Item As Object)
Dim xPrompt As String
Dim xResponse As Integer
Dim xFollowUpMail As Outlook.MailItem
Dim xRcp As Recipient
On Error Resume Next
'Resend
If (Item.Class <> olMail) Then Exit Sub
xPrompt = "You haven't yet received the reply of " & Chr(34) & Item.Subject & Chr(34) & " within your expected time. Do you want to send a follow-up notification email?"
xResponse = MsgBox(xPrompt, vbYesNo + vbQuestion, "Kutools for Outlook")
If xResponse = vbNo Then Exit Sub
Set xFollowUpMail = Application.CreateItem(olMailItem)
With xFollowUpMail
For Each xRcp In Item.Recipients
.Recipients.Add (xRcp.Address)
Next
.Recipients.ResolveAll
.Subject = "Follow Up: " & Chr(34) & Item.Subject & Chr(34)
.Body = "Please respond to my email " & Chr(34) & Item.Subject & Chr(34) & " as soon as possible"
.Attachments.Add Item
.Display
End With
End Sub
5. 保存代码后,返回主界面,点击“文件” > “选项”,在“Outlook选项”窗口中,点击左侧的“信任中心”,然后点击“信任中心设置”以启用“信任中心”窗口。点击“宏设置”,确保右侧选择了“启用所有宏(不推荐;可能运行危险代码)”选项。点击“确定” > “确定”。


6. 现在,如果设置了提醒的已发送邮件在指定时间到达时仍未收到回复,会弹出一个对话框提醒你是否要重新发送邮件以进行通知。

7. 点击“是”,会弹出一个消息窗口并附上之前的邮件,你可以重新编辑正文并点击“发送”以重新发送邮件。

8. 点击“否”,提醒将被删除。

注意:如果邮件在指定时间之前已被回复,VBA将移除该提醒。
最佳办公生产力工具
重磅消息:Kutools for Outlook 推出免费版本!
体验全新 Kutools for Outlook 免费版本,拥有 70 多项令人惊叹的功能,永久免费使用!立即点击下载!
🤖 Kutools AI :利用先进的人工智能技术轻松处理电子邮件,包括回复、总结、优化、扩展、翻译和撰写邮件。
📧 邮件自动化:自动答复(支持 POP 和 IMAP) / 定时发送邮件 / 按规则自动抄送密送 / 自动转发(高级规则) / 自动添加问候语 / 自动将多收件人邮件拆分为单独消息 ...
📨 邮件管理:撤回邮件 / 按主题和其他条件阻止垃圾邮件 / 删除重复邮件 / 高级搜索 / 整合文件夹 ...
📁 附件增强功能:批量保存 / 批量拆离 / 批量压缩 / 自动保存 / 自动拆离 / 自动压缩 ...
🌟 界面魔法:😊更多漂亮酷炫的表情符号 / 当重要邮件到达时提醒您 / 最小化 Outlook 而不是关闭 ...
👍 一键奇效:带附件回复所有人 / 反钓鱼邮件 / 🕘显示发件人的时区 ...
👩🏼🤝👩🏻 联系人和日历:从选定的邮件中批量添加联系人 / 将联系人组拆分为单独的组 / 移除生日提醒 ...
单击即可立即解锁 Kutools for Outlook。不要再等待,现在就下载并提升您的效率!

