学习
实践
活动
工具
TVP
写文章
专栏首页PHP 开发利用宏避免发送确认邮件时忘记添加附件

利用宏避免发送确认邮件时忘记添加附件

团队的邮件周知流程在不断规范,对邮件格式当然也做出了很多要求。在刚开始的阶段,大家都还不是很熟练,于是频频出现聚精会神地把邮件内容处理完以后,还没有把制作完成的html附件添加到邮件里就点击了发送按钮。虽然Outlook支持邮件撤回功能,但是那个撤回功能实在是太SB了(谁用谁知道……)。当然我们也可以设置延迟发送,这样可以在一定程度上解决问题,但是如果你发送邮件后就去干别的了,那么延迟发送显然也不保险。所以最安全的方式还是在发送邮件时,如果是重构完成的确认邮件,并且又没有添加html附件,就弹出警告阻止发送。我做了一个Outlook的加载项实现这个功能,但是试验证明部署兼容性还是有一些问题(在一同事的Win7 x64 + Office 2007 x86上安装后不能加载)。所以这里分享一下用宏实现的方法。当然你也可以先尝试一下加载项能否在你的电脑上正常工作,可以的话就不用搞这么复杂了:下载ISD WebTeam 重构邮件附件检查加载项For Outlook 2007/2010

准备工作

Office的默认设置在各个版本中各有不同,为了保证后面的步骤能够顺利,我们可以先做一些准备工作:

  1. “文件 → 选项”,弹出Outlook选项页面(Outlook 2007以前的版本可能在“工具”下直接就有宏,可以跳到第3步)。
  2. 在左侧导航区域选择“自定义功能区”,最右侧的“主选项卡”拉到最下面,勾选“开发工具”(图1)。
  3. 在左侧导航区域选择“信任中心”,右侧点击“信任中心设置”(图2),弹出信任中心页面(Outlook 2007以前版本可能在“工具”下直接就有“信任设置”)。
  4. 左侧点击“宏设置”,右侧勾选“为所有宏提供通知”(图3)。

图1:显示开发工具

图2:打开信任中心设置

图3:设置宏安全性

编写宏

完成准备工作后,回到Outlook主界面,主选项卡上多了一个“开发工具”选项卡。点击打开“开发工具”选项卡,并点击其下的“Visual Basic”(Outlook 2007 以前的版本中可能在“工具”下的“宏”子菜单里就有),如图4。

图4:打开Visual Basic

在“Microsoft Visual Basic for Application”编辑器中,展开左侧的“Microsoft Outlook 对象”并双击“ThisOutlookSession”,打开编辑器,然后把以下代码粘贴到编辑窗口中(图5):

Option Explicit

Private Sub Application_ItemSend(ByVal Item As Object, ByVal Cancel As Boolean)
    Dim fileCount As Integer
    Dim attach As Attachment
    Dim msg As String
    fileCount = 0
    msg = "你尚未添加网页附件,确定要发送吗?"
    If (InStr(Item.Subject, "重构待确认?") > 0 And fileCount < 1) Then
        For Each attach In Item.Attachments
            If InStr(attach.FileName, "htm") > 0 Or InStr(attach.FileName, "html") > 0 Then
                fileCount = fileCount + 1
            End If
        Next attach

        If (MsgBox(msg, vbYesNo + vbDefaultButton2 + vbExclamation, "附件检查") = vbYes) Then
            Cancel = False
        Else
            Cancel = True
        End If
    End If
End Sub

代码说明:这段代码的作用是在邮件发送事件发生时,首先检查邮件主题是否包含“重构待确认”字样(根据重构周知邮件规范),如果是,则检查是否包含后缀名为"html"或者"htm"的附件(必须检查后缀,因为签名中就有一张图片作为附件,同时邮件中也有可能有数量不定的图片附件)。如果有html附件则邮件继续发送,否则弹出警告,要求你确认添加附件(这样保证了如果真的不需要网页附件,也不会不能发送邮件)。

图5:粘贴宏代码

然后点击左上角的保存按钮(CTRL+S),关闭宏编辑器,退出Outlook。

启用宏

重新打开Outlook,由于我们的宏没有进行数字签名,所以默认是没有启用的,启动时Outlook会弹出提示,请在弹出的提示框中点击“启用宏”(如图6,我的截图中第一项可用是因为进行了宏的数字签名,这个没有影响)。

图6:启动提示,启用宏

至此,我们的设置就完成了。你可以编写一封新邮件作为测试,在主题中包含“重构待确认”字样,不添加任何html网页文件作为附件,收件人最好写自己。然后点击“发送”,就会看到如下提示:

图7:宏测试

看到这个图说明宏已经正常工作,点击“否”即可停止发送,然后补上附件重新发送。如果不需要html附件,只要点“是”即可。

Enjoy It!

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!
本文分享自作者个人站点/博客:https://ofcss.com复制
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • 调用网站第三方接口实现短信发邮件「建议收藏」

    一,电子邮件的使用 在项目开发中,经常会用到通过程序发送电子邮件,例如:注册用户邮件激活,通过邮件找回密码,发送报表等。 二,通过PHP程序来操作电子邮件 ...

    全栈程序员站长
  • 什么是网络钓鱼者?如何检测与避免?

    在安全方面没有灵丹妙药。数字世界已成为我们生活中不可或缺的一部分,无论是与朋友和家人保持联系、购物、运营成功的组织等,每天都有大量数据在互联网上移动。所有数字足...

    虹科网络可视化与安全
  • 使用腾讯公司电子邮件的好处

    在现代商业时代,企业电子邮件成为专业人士必须使用的交流工具之一。即使在今天,当WeChat和QQ等即时通讯工具流行时,企业电子邮件仍然具有不可或缺的功能。

    小小强
  • 邮箱安全服务专题 | 发现那些对钓鱼邮件安全意识淡薄的员工

    上一期我们介绍了针对邮箱应用层和协议层面的安全检测,目前针对邮箱系统自身风险的服务内容已经向大家介绍完了。然而保障了邮箱自身的系统安全还是远远不够的,每一篇邮件...

    安恒信息
  • python接口自动化(三十二)--Python发送邮件(常见四种邮件内容)番外篇——上(详解)

      本篇文章与前边没有多大关联,就是对前边有关发邮件的总结和梳理。在写脚本时,放到后台运行,想知道执行情况,会通过邮件、SMS(短信)、飞信、微信等方式通知管理...

    北京-宏哥
  • 空Word文档附件:绕过垃圾邮件过滤的新方法

    安全研究人员最近发现,垃圾邮件发送者们正在使用一种新的手法绕过垃圾邮件过滤系统——空Word文档。 ? 空白Word文档 垃圾邮件附件中的文档通常伪装成发票或...

    FB客服
  • 下一代网络钓鱼技术——滥用Azure信息保护功能

    在这篇文章中,我们将从攻击者的角度介绍如何使用Azure信息保护(Azure Information Protection,AIP)来改进网络钓鱼技术。这个想法...

    C4rpeDime
  • FEERBUF--Microsoft Office之DDE攻击

    Microsoft Office可以说是使用最广泛的办公软件。然而就是因为这样,也使它成为了黑客的主要攻击目标之一,例如在网络安全对抗赛中红队会用它来窃取域哈...

    奶糖味的代言
  • python接口自动化(三十三)-python自动发邮件总结及实例说明番外篇——下(详解)

      发邮件前我们需要了解的是邮件是怎么一个形式去发送到对方手上的,通俗点来说就是你写好一封信,然后装进信封,写上地址,贴上邮票,然后就近找个邮局,把信仍进去,其...

    北京-宏哥
  • TA2101黑客组织攻击分析

    研究人员最近发现了新的黑客组织攻击活动,被命名为TA2101,其目标是在德国公司和组织安装后门恶意软件。

    FB客服
  • 2015年,基于宏的恶意软件数量再次飙升

    今年年初以来,微软观察到使用宏的恶意软件数量迅速增加。宏病毒在多年前曾经非常流行,之后便销声匿迹。如今这种“古老”的攻击方式结合钓鱼邮件、社会工程学进行传播,大...

    FB客服
  • 生成测试报告就万事大吉了吗?NO,升职加薪就差这一步啦!- 04(非常详细,非常实用)

    上一篇生成测试报告,小伙伴们和童鞋们就又问道,测试报告已经生成了,怎么发送给相关的负责人了?小伙伴们和童鞋们不要着急,听宏哥慢慢给你道来,心急吃不了热豆腐哈。这...

    北京-宏哥
  • 生成测试报告就万事大吉了吗?NO,升职加薪就差这一步啦!- 04(非常详细,非常实用)

    上一篇生成测试报告,小伙伴们和童鞋们就又问道,测试报告已经生成了,怎么发送给相关的负责人了?小伙伴们和童鞋们不要着急,听宏哥慢慢给你道来,心急吃不了热豆腐哈。...

    北京-宏哥
  • 如何使用 Spring Boot 开发邮件系统?

    互联网发展到现在,邮件服务已经成为互联网企业中必备功能之一,应用场景非常广泛,比较常见的有:用户注册、忘记密码、监控提醒、企业营销等。

    纯洁的微笑
  • APT32样本分析

    该恶意文档,共被植入了三段恶意宏代码,宏的主要功能为在内存中加载执行该恶意文档中以十六进制流方式储存的Shellcode代码。

    FB客服
  • Office DDEAUTO技术分析报告

    0x1 背景 过去几年,基于宏的文档攻击技术一直是主流,虽然需要用户主动进行确认,但是攻击的成功率依然非常的高。不过,近段时间来,使用Office DDEAUT...

    FB客服
  • 请注意,PDF正在传播恶意软件

    据Bleeping Computer消息,安全研究人员发现了一种新型的恶意软件传播活动,攻击者通过使用PDF附件夹带恶意的Word文档,从而使用户感染恶意软件。

    FB客服
  • Sednit组织最新研发的恶意软件组件

    Sednit组织,也被称为APT28、Fancy Bear、Sofacy或STRONTIUM,从2004年起该组织一直活跃至今,而且只要该组织参与的网络攻击活动...

    FB客服

扫码关注腾讯云开发者

领取腾讯云代金券