[PHP]] IMAP probleem

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • S_tef
  • Registratie: December 2004
  • Laatst online: 20-09 12:29
Hallo,

ik ben zojuist wat gaan maken voor mail uit te lezen met IMAP. Echter met de code die ik gebruik krijg ik erros, dit is mijn code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
error_reporting(E_ALL);
$mbox = imap_open ("{localhost:143}INBOX", "***", "***");

for ($i = 1; $i <= imap_num_msg($mbox); $i++)
{
  $header = imap_headerinfo($mbox, $i, 80, 80);
  $fromaddress[$i] = $header->from[0]->host;
  $fromname[$i] = $header->from[0]->mailbox;
  $from[$i]= $fromname[$i]."@".$fromaddress[$i];
  $inhoud = imap_fetchbody($mbox, $i, true);
   $subject[$i] = $header->fetchsubject;
// wat ge-echo van de vars..


Dit werkt eigelijk allemaal, maar helaas niet zonder errors..
Deze worden volgens mij veroorzaakt door dit stuk: $inhoud = imap_fetchbody($mbox, $i, true);
En deze errors komen er:
Notice: (null)(): Not a string: ) ) (errflg=1) in Unknown on line 0

Notice: (null)(): Missing multipart subtype (errflg=1) in Unknown on line 0

Notice: (null)(): Bogus body parameter: )) (errflg=1) in Unknown on line 0

Notice: (null)(): Junk at end of multipart body: (errflg=1) in Unknown on line 0

Mvg,

Stef

[ Voor 4% gewijzigd door S_tef op 02-02-2005 22:20 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Haal die @ eens weg voor imap_open, anders heeft die error_reporting ( E_ALL ) zo weinig zin.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Error reporting op E_ALL zetten is iets wat je sowieso al niet moet doen op een liveserver IMHO, dus je kan beter dit nemen:
PHP:
1
error_reporting(E_ALL ^ E_NOTICE);

Op die manier onderdruk je de notices. Ik weet echter niet of het normaal is dat je ze krijgt, dus je moet mogelijk wel een andere oplossing zoeken. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • FvH
  • Registratie: Oktober 2001
  • Laatst online: 07-01 13:55

FvH

Aan het typen...

Mmm.... rekening gehouden met multi-part messages??

Probeer dit eens: (mailbox moet al wel geopend zijn voor deze code)

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
function retrieve_message($mbox, $messageid)
{
   $message = array();
   
   $header = imap_header($mbox, $messageid);
   $structure = imap_fetchstructure($mbox, $messageid);

   $message['subject'] = $header->subject;
   $message['fromaddress'] =  $header->fromaddress;
   $message['toaddress'] =  $header->toaddress;
   $message['ccaddress'] =  $header->ccaddress;
   $message['date'] =  $header->date;

  if (check_type($structure))
  {
   $message['body'] = imap_fetchbody($mbox,$messageid,"1"); ## GET THE BODY OF MULTI-PART MESSAGE
   if(!$message['body']) {$message['body'] = '[NO TEXT ENTERED INTO THE MESSAGE]\n\n';}
  }
  else
  {
   $message['body'] = imap_body($mbox, $messageid);
   if(!$message['body']) {$message['body'] = '[NO TEXT ENTERED INTO THE MESSAGE]\n\n';}
  }
   
  return $message;
}

function check_type($structure) ## CHECK THE TYPE
{
  if($structure->type == 1) 
   {
     return(true); ## YES THIS IS A MULTI-PART MESSAGE
   }
 else
   {
     return(false); ## NO THIS IS NOT A MULTI-PART MESSAGE
   }
}

What are clouds made of? Linux servers mostly!


Acties:
  • 0 Henk 'm!

  • S_tef
  • Registratie: December 2004
  • Laatst online: 20-09 12:29
Die @ had ik al weggehaald...maar notice's willen ook wat zeggen.. Ik bedoel, die moeten toch ook 'goed' weg te krijgen zijn?