在Windows Server 2012 for VB应用程序中安装CDO.DLL的先决条件是什么

时间:2017-03-17 18:48:20

标签: vb6 windows-server-2012 mapi cdo.message

我正在将服务器从Windows 2003升级到2012 R2。 我们的一个VB6应用程序使用CDO.dll进行MAPI,即用于发送邮件。

我的问题是:

  1. 如何安装/注册CDO.DLL?

  2. 安装CDO.DLL的先决条件是什么?

  3. 我是否需要在服务器中安装Outlook才能让应用程序发送邮件?

  4. Set objMAPI = New MAPI.Session
    objMAPI.Logon ShowDialog:=False, NewSession:=False, ProfileInfo:=gobjINI.gstrExchangeServer & vbLf & gobjINI.gstrProfile
    'Add a new mesage to the OUtbo Messages Collection
    Set objMSG = objMAPI.Outbox.Messages.Add
    'Add the recipient list specified in INI File
    'Check if this is a multiple Recipient List (names or groups seperated by semicolons!)
    If InStr(1, Recipients, ";") Then
      objMSG.Recipients.AddMultiple Recipients, CdoTo
      objMSG.Recipients.Resolve
    Else
      'This section is for handling of single recipient name
      'Be aware that this may be an email group list name !
      Set objRecipients = objMSG.Recipients.Add(Recipients)
      objRecipients.Resolve
    End If
    
    'Add Subject Line, Message Content and Send Message
    objMSG.Subject = Subject
    objMSG.Text = Message
    
    'The Update method adds all our assignments to collecttion
    objMSG.Update
    
    'Now let's actually send the message
    objMSG.Send
    
    'End MAPI Session
    objMAPI.Logoff
    Set objMAPI = Nothing
    
    MailSend = True
    

1 个答案:

答案 0 :(得分:3)

Microsoft不再开发或支持CDO 1.21。您可以从https://www.microsoft.com/en-us/download/details.aspx?id=42040下载独立版本的MAPI以及CDO 1.21。它最后一次更新于2014年,预计不会有新的错误修复。功能明智,它在过去的15年里没有更新。

您可以切换到Outlook对象模型(Namespace对象大致对应于MAPI.Session对象)。

您还可以使用Redemption - 其RDOSession对象类似于MAPI.Session对象(具有更多额外功能)。