gpt4 book ai didi

.net - 如何自动化 Outlook?

转载 作者:行者123 更新时间:2023-12-03 23:57:57 24 4
gpt4 key购买 nike

我正在尝试从我们的 ERP 系统发送电子邮件。我试过使用 SMTP,但它只对内部邮件有效,对提示无法中继或其他问题的外部邮件无效。我认为经理不想或不知道如何正确配置 Exchange。

所以我的老板告诉我使用 Outlook。问题是我的代码在调试时工作正常,但如果打开 Outlook 就会失败,几乎在所有情况下都会出现这种情况。我确实在修改供应商安装时让它工作,但我们不想那样做。我们正在使用 Intuitive ERP 8.5。它将其库文件存储在标准文件夹中,并且有一个用于任何自定义代码或继承的供应商对象的自定义文件夹。

程序文件\IntuitiveERP.exeProgram Files\IntuitiveERP\自定义Program Files\IntuitiveERP\Standard

如果我将程序目录放在 C: 的根目录下,并结合标准文件夹和自定义文件夹,那么无论 Outlook 是打开还是关闭,代码都可以正常工作。我们不希望修改供应商的安装,因为这可能会导致更新出现问题。

'Fails with Cannot create ActiveX component.
objOutlook = CType(CreateObject("Outlook.Application"), Outlook.Application)
'Fails with Retrieving the COM class factory for component with CLSID {0006F03A-0000-0000-C000-000000000046} failed due to the following error: 80080005.
objOutlook = New Outlook.Application
mobjEmail = CType(objOutlook.CreateItem(Outlook.OlItemType.olMailItem), Outlook.MailItem)

With mobjEmail
.CC = strEmployeeEmail
.Subject = String.Format(Constants.RFQ.Email.Subject, strRFQID)
.To = strTo
.Body = Constants.RFQ.Email.Body
.Attachments.Add(String.Format(Constants.RFQ.Output.FullPath, strRFQID))
.Display(True)
End With

知道如何在 Outlook 打开时获取对 Outlook 的引用吗?任何替代解决方案?

最佳答案

你可以试试这个:

Try
objOutlook = Marshal.GetActiveObject("Outlook.Application")
Catch ex As Exception
objOutlook = CType(CreateObject("Outlook.Application"), Outlook.Application)
End Try

请注意,以管理员身份在 Visual Studio 中运行和访问已在用户模式下运行的 Outlook 时会出现问题。参见 this .尝试直接从 bin 文件夹运行 EXE(不要以管理员身份运行)。

关于.net - 如何自动化 Outlook?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38404395/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com