| | |
outlook and php
Please support our PHP advertiser: PostgreSQL or MySQL? Compare and contrast the two most popular open source databases
![]() |
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
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
•
•
•
•
Originally Posted by demo
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
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"<body text=darkblue>
<br><font color=red face=verdana size=3><b>$folder</b></font>
<table width=100%>
<TR bgcolor=#EEEFFF><td><font face=verdana size=2>N:</td><td>
<font face=verdana size=2> Subject</td><TD>
<font face=verdana size=2 >Type</TD><TD><font face=verdana size=2> Date</TD></TR>";
//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 "<tr bgcolor=#F0F0F0><td><font face=verdana size=2 color=darkblue>$i</td><td><font face=verdana size=2 color=darkblue>
<a href=view.php?id=$i&folder=$folder target=bottomFrame><font face=verdana size=2 color=#FF6666>$item->Subject</font></td><td><font face=verdana size=2 color=darkblue>$item->Type</td><td><font face=verdana size=1 color=darkblue>$year/$month/$day</td></font><tr>";
}
echo"</table>";
}
//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 "<font face=verdana size=2 color=darkblue>Message Viewer</font><br><font face=verdana size=2 color=red><center>No Messages Selected</center></font>";
}
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"<font face=verdana size=2 color=darkblue>Message Viewer</font>";
echo"<table width=100%><tr><td><font face=verdana size=2 color=darkblue>$i</td><td><font face=verdana size=2 color=darkblue>
<b>$items->Subject</b></td><td><font face=verdana size=2 color=darkblue>$items->Type</td><td></td></font><tr>
<tr><td colspan=4><pre><font face=verdana size=2 color=darkblue>$items->Text</pre></td></tr>";
}
}
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"<font color=blue face = verdana size=1>Available folders in this version are:
<a href=comunread.php?folder=Inbox>Inbox(<font color=red>$unread</font>)</a>
and <a href=comunread.php?folder=Outbox>Outbox(<font color=red>$out_unr</font>)</a></font>";
}
//end of classs
}
?>
thanking you once again ....and expecting your help sincerely
Harish Balakrishnan Marar
•
•
Join Date: Mar 2007
Posts: 1
Reputation:
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"<body text=darkblue>
<br><font color=red face=verdana size=3><b>$folder</b></font>
<table width=100%>
<TR bgcolor=#EEEFFF><td><font face=verdana size=2>N:</td><td>
<font face=verdana size=2> Subject</td><TD>
<font face=verdana size=2 >Type</TD><TD><font face=verdana size=2> Date</TD></TR>";
//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 "<tr bgcolor=#F0F0F0><td><font face=verdana size=2 color=darkblue>$i</td><td><font face=verdana size=2 color=darkblue>
<a href=view.php?id=$i&folder=$folder target=bottomFrame><font face=verdana size=2 color=#FF6666>$item->Subject</font></td><td><font face=verdana size=2 color=darkblue>$item->Type</td><td><font face=verdana size=1 color=darkblue>$year/$month/$day</td></font><tr>";
}
echo"</table>";
}
//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 "<font face=verdana size=2 color=darkblue>Message Viewer</font><br><font face=verdana size=2 color=red><center>No Messages Selected</center></font>";
}
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"<font face=verdana size=2 color=darkblue>Message Viewer</font>";
echo"<table width=100%><tr><td><font face=verdana size=2 color=darkblue>$i</td><td><font face=verdana size=2 color=darkblue>
<b>$items->Subject</b></td><td><font face=verdana size=2 color=darkblue>$items->Type</td><td></td></font><tr>
<tr><td colspan=4><pre><font face=verdana size=2 color=darkblue>$items->Text</pre></td></tr>";
}
}
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"<font color=blue face = verdana size=1>Available folders in this version are:
<a href=comunread.php?folder=Inbox>Inbox(<font color=red>$unread</font>)</a>
and <a href=comunread.php?folder=Outbox>Outbox(<font color=red>$out_unr</font>)</a></font>";
}
//end of classs
}
?>
thanking you once again ....and expecting your help sincerely
Harish Balakrishnan Marar
•
•
Join Date: Mar 2007
Posts: 2
Reputation:
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
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
![]() |
Similar Threads
- Access your Outlook application using PHP? (PHP)
- PHP e-mail SMTP error ??? (PHP)
- MS Outlook 2003 problem (Windows Software)
- Outlook Express freezes up - CPU usage at 99% (Windows Software)
- Help - This started out as 213.159.117.132/redir.php NOW??? (Viruses, Spyware and other Nasties)
Other Threads in the PHP Forum
- Previous Thread: Send data through URL
- Next Thread: Error in php form validation
| Thread Tools | Search this Thread |
.htaccess ajax alerts apache api array autocomplete beginner binary broken cakephp checkbox class cms code convert cron curl database date display dynamic echo email emptydisplayvalue error errors file files folder form forms function functions google hack href htaccess html htmlspecialchars image include insert integration ip java javascript joomla limit link login loop mail menu methods mlm mod_rewrite multiple mysql network object oop paypal pdf php problem query radio random recursion recursive redirect regex remote script search securephp server sessions shot sms soap source space sql subscription syntax system table tutorial update upload url validation validator variable video web xml youtube





