首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP/Outlook与com_load_typelib集成读取文件夹

PHP/Outlook与com_load_typelib集成读取文件夹
EN

Stack Overflow用户
提问于 2022-09-04 11:15:23
回答 1查看 50关注 0票数 0

我正在尝试与com_load_typelib(“outlook.application”)进行PHP/Outlook集成。目前,我可以发送电子邮件,但有没有办法读取一些特定的文件夹中的电子邮件,并将部分内容放在excel文件中?

现在,我可以用以下代码计算收件箱中元素的数量:

代码语言:javascript
复制
$olFolderInbox = 6;

com_load_typelib("Outlook.Application");
echo "Outlook loaded...";

$Outlook = new COM("Outlook.Application") or die("Unable to load Outlook COM");
echo "com object created...";

$OutlookMAPI_Ns = $Outlook->GetNamespace("MAPI") or die("Unable to get Namespace");
echo "namespace created...";

$def_fld_inbox = $OutlookMAPI_Ns->GetDefaultFolder($olFolderInbox) or die("Unable to get olFolderInbox");
echo "got default folder.<br>";

$items_in_folder = $def_fld_inbox->Items->Count();

echo "Items in Inbox: $items_in_folder";

$Outlook->Quit();

echo "Outlook Closed.";

如何处理特定的SubFolders并解析某些信息并将部分内容放入excel文件?

EN

回答 1

Stack Overflow用户

发布于 2022-09-05 14:36:34

如果您的代码在服务器端运行,Outlook无法从服务器端自动运行.注意以下信息:

Microsoft目前不建议也不支持来自任何无人值守、非交互式客户端应用程序或组件(包括ASP、ASP.NET、DCOM和NT服务)的Microsoft应用程序的自动化,因为在此环境中运行Office时,Office可能会出现不稳定的行为和/或死锁。如果您正在构建在服务器端上下文中运行的解决方案,则应尝试使用已为无人值守执行而安全的组件。或者,您应该尝试找到允许至少部分代码运行客户端的替代方案。如果您使用来自服务器端解决方案的Office应用程序,则该应用程序将缺乏许多成功运行所需的功能。此外,您将承担风险与您的整体解决方案的稳定性。

办公服务器端自动化的几点思考文章中阅读更多有关这方面的内容。

作为一种可能的解决办法,您可以考虑使用Graph (对于Office 365)和EWS (用于),请参见探索Exchange中的EWS托管API、EWS和web服务

使用文件夹属性,该属性返回表示指定文件夹中包含的所有文件夹的Folders集合。有关详细信息,请参阅枚举文件夹

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73598887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档