在客户机上使用php打开outlook
我想在客户机上使用php打开outlook。 我已经有PHP代码打开Outlook窗口。在客户机上使用php打开outlook
当前场景: 我可以在本地服务器(本地计算机)上使用PHP打开Outlook。 说本地主机url:http://localhost/openOutlook/index.php 它打开代码可用的系统/服务器的前景。 这意味着我有我的本地系统中的代码。通过运行该代码,我可以完美地打开Outlook。
我正在使用XAMPP。 PHP 7.1。 10.视窗2013处(在我的本地系统) XAMPP,PHP 7.1,服务器2008 R2(在服务器上) 默认邮件客户端:后市
但是,当我上载的Windows Server 2008 R2相同的代码,IT OPENS在该服务器上展望它自己。 这意味着,网址:http://serverName/openOutlook/index.php。如果我从任何系统访问此链接,而不是仅在服务器本身上打开Outlook的前景。
理想情况它应该打开客户端系统的前景。
我检查:它不是服务器或其他许可的问题。
我想要什么: 我想在访问该链接的客户机上使用PHP打开Outlook。 (HTTP:服务器/ openOutlook/index.php文件)
注: 我已经启用:延长= php_com_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();
?>
是否有可能从打开该链接被访问任何系统上前景如何?
如果这不可能,比我可以使用其他方法?
任何帮助表示赞赏。
谢谢。
这是不可能的(至少,不是你想要的方式)。您的服务器上运行的PHP代码可以访问服务器上的COM对象。您试图访问客户端上的COM对象。
理论上,您可以使用远程COM调用该机器上的功能,但是几乎每个防火墙都会尝试阻止(有充分的理由 - 您试图远程控制机器)。
你好得多尝试通过HTML或JavaScript来做到这一点 - 这里有对于某些电子邮件客户端工作的例子:如果你真的想这样的 http://resources.elixiter.com/how-to/how-to-pre-populate-the-subject-line-and-body-in-mailto-generated-emails
(打开Outlook客户端) ,ActiveX被设计来做这种事情。但是,老实说,这不是一个好主意。即使你可以这样做,如果这个人没有安装Outlook,会发生什么情况?如果他们不在Windows上呢? HTML和JavaScript解决方案将在更多系统上运行。
PHP在服务器上运行。要在客户端上运行你的代码,你几乎局限于IE中的JS,并且只有当你在受信任的列表中并且因此被允许创建COM对象时。
在服务器上创建一个EML文件(使用HTML和全部)并让用户下载它。客户端的展望将很乐意打开并展示它。不要忘记设置X-Unsent:1
MIME头,以确保它显示为Outlook未发送。
我也使用过这个:Click here to mail。但它不提供将HTML标记或内容作为电子邮件正文传递的功能。电子邮件正文中只允许使用简单的文字。此外,我必须应用许多setTimeout来打开多个Outlook窗口。 –