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

What are the prerequisites for installing CDO.DLL in Windows Server 2012 for VB application

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

我的问题是:

  1. 如何install/registerCDO.DLL?

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

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

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

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 (I am its author) - its RDOSession 对象类似于 MAPI.Session 对象(具有更多额外功能)。