if (!defined('olMailItem')) define(“olMailItem”,0); $objApp = new COM(“Outlook.Application”); $myItem = $objApp->CreateItem(olMailItem); $myItem->To='xxxx@xxx.com'; $myItem->SentOnBehalfOfName = 'yyy@xxyyx.com'; $myItem->Subject=”This is a test”; $myItem->Body=”This is a Body Section now…..!”; $myItem->Send();
я получаю эту ошибку
Неустранимая ошибка: исключение «com_exception» с сообщением «в D: \ NotEncrypted \ xampp \ htdocs \ copper \ system \ modules \ projects \ index.php в строке 11251 (!) Com_exception: ошибка [0x80004004] Операция прерывается в D: \ NotEncrypted \ xampp \ htdocs \ copper \ system \ modules \ projects \ index.php в строке 11251
Спасибо за комментарии и помогите ребятам ..
Скорее всего, ваша служба компонентов Outlook не работает
бег
Start -> run -> dcomcnfg.exe
Чтобы узнать, есть ли там
Вам также нужно проверить свой реестр Windows, если доступен MAPI.Session
Start -> Run -> HKEY_CLASSES_ROOT -> Outlook.Application -> MAPI.Session
Если вы не можете найти это, используйте эти уроки
http://www.digiways.com/articles/php/outlook/
пример
set_time_limit(10); if (! defined ( "olMailItem" )) { define ("olMailItem", 0 ); } try { $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 = "xxxx@xxx.com"; $myItem->SentOnBehalfOfName = "yyy@xxyyx.com"; $myItem->Subject = "This is a test"; $myItem->Body = "This is a Body Section now…..!"; $myItem->Send (); } catch ( Exception $e ) { var_dump ( $e->getMessage () ); debug_print_backtrace (); }
Я надеюсь, что это помогает
Я просто нашел другое решение на этой странице: http://forums.devshed.com/php-development-5/php-com-automating-outlook-46167.html
В основном PHP не имеет таких констант, как olMailList
, поэтому вам нужно ссылаться на него по значениям. Итак, чтобы ваша текущая работа скрипта изменила эту строку:
$myItem = $objApp->CreateItem(olMailItem);
чтобы:
$myItem = $objApp->CreateItem(0);
Это очень сработало для моей ситуации.