在客户端计算机上使用php打开outlook
我想在客户端机器上使用php打开outlook。 我已经有PHP代码来打开outlook窗口 当前场景: 我可以在本地服务器(本地计算机)上使用PHP打开outlook。 说本地主机url: 它将打开outlook,在该系统/服务器上可以使用代码。 这意味着我的本地系统中有代码。通过运行这些代码,我可以完美地打开outlook 我正在使用XAMPP。PHP7.1。视窗10。办公室,2013年。(在我的本地系统中) XAMPP,PHP7.1,Server2008R2(在服务器上) 默认邮件客户端:outlook 但是,当我在Windows server 2008 R2上上载相同的代码时,会在该服务器上打开outlook。 这意味着,URL:。如果我从任何系统访问此链接,Ii将仅在服务器上打开outlook。在客户端计算机上使用php打开outlook,php,outlook,com,Php,Outlook,Com,我想在客户端机器上使用php打开outlook。 我已经有PHP代码来打开outlook窗口 当前场景: 我可以在本地服务器(本地计算机)上使用PHP打开outlook。 说本地主机url: 它将打开outlook,在该系统/服务器上可以使用代码。 这意味着我的本地系统中有代码。通过运行这些代码,我可以完美地打开outlook 我正在使用XAMPP。PHP7.1。视窗10。办公室,2013年。(在我的本地系统中) XAMPP,PHP7.1,Server2008R2(在服务器上) 默认邮件客户端:
理想情况下,它应该在客户端系统中打开outlook。 我检查过了:这不是服务器上的权限问题 我想要什么: 我想在访问该链接的客户机上使用PHP打开outlook。 (http:serverName/openOutlook/index.php) 注: 我已启用:extension=php\u com\u dotnet.dll 我已经提到了许多链接和问题的解决方案。但不幸的是,什么都帮不了我 这是我的简单代码:
<?php
com_load_typelib('Outlook.Application');
$objApp = new COM("Outlook.Application") or die ( "Cannot Load Outlook.Application" );
$namespace = $objApp->GetNamespace("MAPI"); // or MAPI.Session
$namespace->Logon();
$myItem = $objApp->CreateItem ( olMailItem );
$myItem->To = $div_wise_value['emails'];
$myItem->Subject = "Mail subject";
$myItem->HTMLBody = "mail body";
$myItem->Display();
?>
是否可以在访问链接的任何系统上打开outlook?如果这是不可能的,我可以使用什么其他方法 感谢您的帮助 谢谢。这是不可能的(至少,不是以你喜欢的方式)。在服务器上运行的PHP代码可以访问服务器上的COM对象。您正在尝试访问客户端上的COM对象 理论上,您可以通过使用远程COM调用连接机器上的函数来获取有关连接机器的IP地址的信息,但几乎所有防火墙都会试图阻止这一点(有充分的理由——您正试图远程控制机器) 您最好尝试通过HTML或javascript执行此操作-这里有一个适用于某些电子邮件客户端的示例:
如果您真的想使用它(在客户端打开Outlook),ActiveX就是为实现这类功能而设计的。但是,老实说,这不是一个好主意。即使您可以这样做,例如,如果此人没有安装outlook,会发生什么情况?如果它们不在Windows上怎么办?HTML和JavaScript解决方案将适用于更多的系统 PHP在服务器上运行。要在客户机上运行代码,IE中的JS非常有限,并且只有当您在受信任列表中,因此被允许创建COM对象时 在服务器上创建一个EML文件(包含HTML和all),并让用户下载它。客户端的Outlook将乐于打开并显示它。别忘了设置
X-Unsent:1
MIME标题,以确保Outlook将其显示为Unsent。我也使用了此选项:。但它不提供将HTML标记或内容作为电子邮件正文传递的工具。电子邮件正文中只允许使用简单文本。我还必须应用许多setTimeout来打开多个outlook窗口。