使用PHP发送outlook 2010电子邮件
已添加: [互联网] extension=php\u com\u dotnet.dll 在php.inI文件的末尾 这是我正在使用的代码:使用PHP发送outlook 2010电子邮件,php,outlook,Php,Outlook,已添加: [互联网] extension=php\u com\u dotnet.dll 在php.inI文件的末尾 这是我正在使用的代码: if (!defined("olMailItem")) define("olMailItem",0); $objApp = new COM ( "Outlook.Application" ) or die ( "Cannot Load Outlook.Application" ); $namespace = $objApp->
if (!defined("olMailItem")) define("olMailItem",0);
$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 = $email;
$myItem->SentOnBehalfOfName = "IT.Helpdesk@mycompany.com";
$myItem->Subject = "Notification: application form submitted successfully.";
$myItem->Body ="Hi " . $realname .",
You have successfully submitted the applicant form for (".$firstname." , ".$lastname.")
The application has been sent to the respective managers for approval.
Thank you,
Applicant Portal";
$myItem->Send ();
完整错误消息:
致命错误:未捕获异常“com_exception”,消息为“未能创建com对象`Outlook.Application':访问被拒绝”在C:\inetpub\wwwroot\doForm.php:268堆栈跟踪中:#0 C:\inetpub\wwwroot\doForm.php(268):com->com('Outlook.applicata…'))#在C:\inetpub\wwwroot\doForm.php第268行抛出{1{main}从php自动化Outlook不是一个好主意。该条规定如下: Microsoft目前不建议也不支持从任何无人参与、非交互的客户端应用程序或组件(包括ASP、ASP.NET、DCOM和NT服务)自动化Microsoft Office应用程序,因为Office在此环境中运行时可能会表现出不稳定的行为和/或死锁。
正如您可能看到的,不支持那种自动化Outlook的方式 我连续两天都在寻找解决办法。我的应用程序运行正常,突然我发现了同样的异常
问题是Outlook和我的Apache服务器在不同的权限下运行(一个作为用户,另一个作为管理员)。我以用户身份运行,一切都恢复正常。不要在服务中使用Outlook。别这样。它迟早会失败。