我有一个能够发送预先生成的电子邮件的程序。
大部分办公室(包括我)都安装了Outlook 2010,但由于升级,有少数人使用Outlook 2013,另一人使用Outlook 2016.
我希望无论安装哪个版本的Outlook,都可以使程序正常运行,因为暂时没有计划升级办公室的其余部分。
编辑:我当前的方法
参考:C:\ WINDOWS \ assembly \ GAC_MSIL \ Microsoft.Office.Interop.Outlook \ 14.0.0.0__71e9bce111e9429c \ Microsoft.Office.Interop.Outlook.dll
Imports Microsoft.Office.Interop.Outlook.OlItemType
Imports Microsoft.Office.Interop
Private Sub cmdEmailInvite_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdEmailInvite.Click
If lstInvites.SelectedItems.Count > 0 Then
Dim Subject As String = "Invite Code"
Dim Body As String = "Please visit our registration page"
Dim oApp As New Outlook.Application
Dim oEmail As Outlook.MailItem
oEmail = oApp.CreateItem(olMailItem)
oEmail.BodyFormat = Outlook.OlBodyFormat.olFormatHTML
oEmail.To = lstInvites.SelectedItems(0).Text
oEmail.Subject = Subject
oEmail.Body = Body
oEmail.Display()
End If
End Sub
答案 0 :(得分:1)
您可以查看NetOffice,它支持使用多个版本的Office。有一个使用Outlook on the web site发送电子邮件的示例。我没有使用过Outlook API,但Word API对我来说效果很好,而且它们(我相信)与常规自动化API几乎相同。
答案 1 :(得分:0)
我总是使用System.Net.Mail。您只需要知道邮件服务器的位置。 这也是一个很好的资源www.systemnetmail.com
答案 2 :(得分:0)
只要您将interop dll与您的应用程序一起包含并定位支持最低版本的Outlook(2010),您就可以了。 你还需要确保他"具体版本"在引用上设置为false。