954,576 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

outlook and php

hi,

i had got a script from some resource that demonstrasted outlook and php.
but i had done perfectly but getting the following error.

I request members to help me with this.
Fatal error:
Uncaught exception 'com_exception' with message 'Parameter 0: Type mismatch. ' in C:\apachefriends\xampp\htdocs\outlook\COutlook.php:112 Stack trace: #0 C:\apachefriends\xampp\htdocs\outlook\COutlook.php(112): variant->GetDefaultFolder('olFolderInbox') #1 C:\apachefriends\xampp\htdocs\outlook\COutlook.php(129): COutLook->getUnreadinInbox() #2 C:\apachefriends\xampp\htdocs\outlook\comunread.php(10): COutLook->staticFolders() #3 {main} thrown in C:\apachefriends\xampp\htdocs\outlook\COutlook.php on line 112

Thanking all of you for the concern and consideration in advance ,I remain

really in need of help.

Hari

hbmarar
Junior Poster
190 posts since Apr 2005
Reputation Points: 10
Solved Threads: 0
 

try calling your local internet service provider

I_love_me780
Newbie Poster
13 posts since Apr 2005
Reputation Points: 10
Solved Threads: 1
 

Do you have the code?

The problem is that the object method is expecting a certain type of 'VARIANT' and the one you passed is not correct. If you have the code I can show you how to fix your problem!

demo

demo
Newbie Poster
18 posts since Jan 2005
Reputation Points: 10
Solved Threads: 2
 

Do you have the code?

The problem is that the object method is expecting a certain type of 'VARIANT' and the one you passed is not correct. If you have the code I can show you how to fix your problem!

demo

Yes,I can share it with you and thanks for the concern xtended by u.
I am providing the codes.

<?PHP

global $UnreadMessagesInFolder;
class COutLook{
//function for retreiving messages from the selected folder (Inbox or Outbox)
function getMessages($folder){


//Setup the folder table,.there is 4 elements:

//message number,message subject ,message type and date received


echo"

$folder
N:
Subject
Type Date";

//creating the COM instance for Outlook.application and MAPI session(access the outlook folders object)
$oOutlook = new COM("Outlook.Application");
$session= new COM("MAPI.Session");


//Log into the session like default user
$session->Logon();

//selecting working folder Inbox ot Outbox/
$inb=$session->$folder;

//get the total messages in Folder
$messages=$inb->Messages->Count();

//get the elements of the message object

for($i=1;$i<($messages+1);$i++){


$item=$inb->Messages->item($i);


//date string
$timeres=$item->TimeReceived();
$date_vb=getdate($timeres);


//date elements
$year=$date_vb['year'];
$month=$date_vb['mon'];
$day=$date_vb['mday'];


//entering the folder elements
echo "$i
$item->Subject$item->Type$year/$month/$day";
}
echo"";
}

//view mesage from selected folder (Inbox or Outbox)


function ViewMessageFromFolder($id,$folder){
//create new instance of the COM Objects
$oOutlook = new COM("Outlook.Application");
$session= new COM("MAPI.Session");


//Log into the current working session
$session->Logon();

//get default folder
$inb=$session->$folder;


if($id==""){
echo "Message Viewer
No Messages Selected";
}
else{
$idint=(int)$id;

//get the messages in the selested folder
$items=$inb->Messages->item($idint);


//make message status read= true
$items->Unread="false";


//Update the message status into Outlook's Inbox
$items->Update(true);


//display the message

echo"Message Viewer";
echo"$i
$items->Subject$items->Type$items->Text";
}
}

function getUnreadinInbox(){


//get unread messages from the Inbox Folder
$oOutlook = new COM("Outlook.Application");
$oNs = $oOutlook->GetNamespace("MAPI");
$oFldr = $oNs->GetDefaultFolder(olFolderInbox);
$UnreadMessagesInFolder = $oFldr->UnReadItemCount;
return $UnreadMessagesInFolder;
}

function getUnreadinOutbox(){
//get unread messages from the Outbox Folder
$oOutlook = new COM("Outlook.Application");
$oNs = $oOutlook->GetNamespace("MAPI");
$oFldr = $oNs->GetDefaultFolder(olFolderOutbox);
$UnreadMessagesInFolder = $oFldr->UnReadItemCount;
return $UnreadMessagesInFolder;

}

function staticFolders(){
// List of the avaailable folders (static !!!)
$unread=$this->getUnreadinInbox();
$out_unr=$this->getUnreadinOutbox();
echo"Available folders in this version are:
Inbox($unread)
and Outbox($out_unr)";
}


//end of classs
}
?>

thanking you once again ....and expecting your help sincerely

Harish Balakrishnan Marar

hbmarar
Junior Poster
190 posts since Apr 2005
Reputation Points: 10
Solved Threads: 0
 

Der Fehler kommt in dem Code aber nicht vor!
variant->GetDefaultFolder('olFolderInbox') muss heissen
variant->GetDefaultFolder(olFolderInbox) und ist im Code richtig.
olFolderInbox müsste dann eine Konstante sein.

DocTrax
Newbie Poster
1 post since Jul 2005
Reputation Points: 12
Solved Threads: 0
 
Yes,I can share it with you and thanks for the concern xtended by u. I am providing the codes. <?PHP global $UnreadMessagesInFolder; class COutLook{ //function for retreiving messages from the selected folder (Inbox or Outbox) function getMessages($folder){ //Setup the folder table,.there is 4 elements: //message number,message subject ,message type and date received echo"
$folder N: Subject Type Date"; //creating the COM instance for Outlook.application and MAPI session(access the outlook folders object) $oOutlook = new COM("Outlook.Application"); $session= new COM("MAPI.Session"); //Log into the session like default user $session->Logon(); //selecting working folder Inbox ot Outbox/ $inb=$session->$folder; //get the total messages in Folder $messages=$inb->Messages->Count(); //get the elements of the message object for($i=1;$i<($messages+1);$i++){ $item=$inb->Messages->item($i); //date string $timeres=$item->TimeReceived(); $date_vb=getdate($timeres); //date elements $year=$date_vb['year']; $month=$date_vb['mon']; $day=$date_vb['mday']; //entering the folder elements echo "$i $item->Subject$item->Type$year/$month/$day"; } echo""; } //view mesage from selected folder (Inbox or Outbox) function ViewMessageFromFolder($id,$folder){ //create new instance of the COM Objects $oOutlook = new COM("Outlook.Application"); $session= new COM("MAPI.Session"); //Log into the current working session $session->Logon(); //get default folder $inb=$session->$folder; if($id==""){ echo "Message Viewer
No Messages Selected"; } else{ $idint=(int)$id; //get the messages in the selested folder $items=$inb->Messages->item($idint); //make message status read= true $items->Unread="false"; //Update the message status into Outlook's Inbox $items->Update(true); //display the message echo"Message Viewer"; echo"$i $items->Subject$items->Type
$items->Text
"; } } function getUnreadinInbox(){ //get unread messages from the Inbox Folder $oOutlook = new COM("Outlook.Application"); $oNs = $oOutlook->GetNamespace("MAPI"); $oFldr = $oNs->GetDefaultFolder(olFolderInbox); $UnreadMessagesInFolder = $oFldr->UnReadItemCount; return $UnreadMessagesInFolder; } function getUnreadinOutbox(){ //get unread messages from the Outbox Folder $oOutlook = new COM("Outlook.Application"); $oNs = $oOutlook->GetNamespace("MAPI"); $oFldr = $oNs->GetDefaultFolder(olFolderOutbox); $UnreadMessagesInFolder = $oFldr->UnReadItemCount; return $UnreadMessagesInFolder; } function staticFolders(){ // List of the avaailable folders (static !!!) $unread=$this->getUnreadinInbox(); $out_unr=$this->getUnreadinOutbox(); echo"Available folders in this version are: Inbox($unread) and Outbox($out_unr)"; } //end of classs } ?> thanking you once again ....and expecting your help sincerely Harish Balakrishnan Marar You have referenced 2 Outlook variables by their names, olFolderInbox and olFolderOutbox. These names are not recognised outside of Outlook, so you must use their values instead. olFolderInbox = 6 and olFolderOutbox = 4
cucola
Newbie Poster
1 post since Mar 2007
Reputation Points: 10
Solved Threads: 0
 

Hi there,
I have been trying desperately to implement ‘Accessing an Outlook account/profile using PHP’. I believe the com object implementation will offer me the best solution. This is where the problem lies, even though I have copied the code and removed all comments, added in my username and password to the $session->logon() and it now comes back with an error (‘cdo.dll has been registered on my local pc, however not on the server’)… the error is as follows :

Fatal error: Uncaught exception 'com_exception' with message 'Parameter 0: Type mismatch. ' in C:\wamp\www\Training\COutLook.php:104 Stack trace: #0 C:\wamp\www\Training\COutLook.php(104): variant->GetDefaultFolder('olFolderInbox') #1 C:\wamp\www\Training\COutLook.php(121): COutLook->getUnreadinInbox() #2 C:\wamp\www\Training\comunread.php(10): COutLook->staticFolders() #3 {main} thrown in C:\wamp\www\Training\COutLook.php on line 104

If you can offer any assistance with this error it would be greatly appreciated… if your need the scripts to interpret the error they can be found at

http://www.digiways.com/articles/php/outlook/

Thank you very much for your time

mmmbop
Newbie Poster
2 posts since Mar 2007
Reputation Points: 10
Solved Threads: 0
 

try using webdav for access to exchange google "webdav troy wolf"

magnum129
Newbie Poster
1 post since Nov 2006
Reputation Points: 10
Solved Threads: 0
 

Hi hbmarar


Can u please give the outlook and php code,

Its very urgent ,

Thanks

bharanikumarphp
Newbie Poster
1 post since Jul 2008
Reputation Points: 10
Solved Threads: 0
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You