打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
在Visual Basic中向外发SMTP邮件添加免责声明

如何在Visual Basic中向外发SMTP邮件添加免责声明

 

此分步文章介绍如何使用SMTP传输事件接收器向发送的SMTP电子邮件添加免责声明。

创建事件接收器

1.    创建一个新的Microsoft Visual Basic ActiveX DLL。将项目命名为SMTPEventSink,然后命名模块免责声明。

2.    项目引用下,添加MicrosoftCDO for Exchange 2000 Library,然后添加服务器扩展对象COM库。

3.    将以下代码放在模块中:

4.  DimTextDisclaimer As String
Dim HTMLDisclaimer As String

Implements IEventIsCacheable
Implements CDO.ISMTPOnArrival

Private Sub IEventIsCacheable_IsCacheable()
    'Just returns S_OK.
End Sub

Private Sub Class_Initialize()
  'TODO: Replace the sample disclaimer text with your own text.
  TextDisclaimer = vbCrLf & "DISCLAIMER:" & vbCrLf &"Sample Disclaimer Text."
  HTMLDisclaimer ="<p></p><p>DISCLAIMER:<br>Sample DisclaimerText"
End Sub

Private Sub ISMTPOnArrival_OnArrival(ByVal Msg As CDO.IMessage, EventStatus AsCDO.CdoEventStatus)
    If Msg.HTMLBody <> "" Then
        Dim szPartI As String
        Dim szPartII As String
        Dim pos As Integer
       
        'Search for the"</body>" tag and insert the disclaimer before that tag.
        pos = InStr(1, Msg.HTMLBody,"</body>", vbTextCompare)
        szPartI = Left(Msg.HTMLBody, pos -1)
        szPartII = Right(Msg.HTMLBody,Len(Msg.HTMLBody) - (pos - 1))
        Msg.HTMLBody = szPartI +HTMLDisclaimer + szPartII
    End If

    If Msg.TextBody <> "" Then
        Msg.TextBody = Msg.TextBody &vbCrLf & TextDisclaimer & vbCrLf
    End If
   
    'Commit the content changes to the transport ADO Streamobject.
    Msg.DataSource.Save
    EventStatus = cdoRunNextSink
End Sub

 

1.    将示例免责声明文本替换为您自己的免责声明文本,然后构建DLL

注册事件接收器

要注册事件接收器,请使用随Exchange软件开发工具包(SDK)一起安装的Smtpreg.vbs文件。

1.    在命令提示符下,找到\ Exchange SDK \ SDK \ Support \ CDO \ Scripts文件夹,然后键入以下内容:cscript smtpreg.vbs / add 1 OnArrivalSMTPDisclaimer SMTPEventSink.Disclaimer“mail from = * @ your-domain-here com“

如果此命令成功,您将收到脚本生成的成功消息。

2.    要取消注册此事件,请键入以下内容:cscript smtpreg.vbs / remove 1 OnArrivalSMTPDisclaimer

有关管理事件绑定的其他信息,请访问下面的Microsoft开发人员网络(MSDN)网站:

http://msdn2.microsoft.com/en-us/library/ms526620.aspx

测试事件接收器

要测试事件接收器,请向组织外部的SMTP收件人发送电子邮件。收件人收到修改后的消息,并将免责声明文本添加到邮件的末尾。

注意如果使用MAPI客户端(如Microsoft Outlook)发送电子邮件,则收件人不会收到修改后的电子邮件。这是因为当电子邮件触发SMTP传输事件时,使用MAPI提交的电子邮件不是SMTP格式。因此,事件代码所做的更改不会持久存在。

参考文献

有关其他信息,请单击下面的文章编号,以查看Microsoft知识库中相应的文章:

273233无法更改CDO SMTP事件接收器中的MAPI消息内容

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
在64位系统上利用Jmail实现邮件群发 | VBA实例教程
vb6.0 判断数组为空
VB MsgBox 函数使用
消息框与图片(-)
获取计算机名称
在Visual Studio .NET中自动化生成和配置(抄录)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服