login  Naam:   Wachtwoord: 
Registreer je!
 Forum

email uitlezen

Offline Appie_Dijk - 03/07/2009 12:28
Avatar van Appie_DijkLid Hallo iedereen,

Ik heb een vraag en heb geen idee of het mogelijk is, ik heb al op google gezocht maar aangezien ik met de zoektermen e-mail uitlezen, php enz. heel veel voorkomen krijg ik niet het gewenste resultaat...

Ik wil graag (indien mogelijk) een php-bestand dat e-mail kan uitlezen...

Het gaat om het volgende:
Ik krijg wekelijks een e-mail op 'statistieken@mijndomein.nl' met als onderwerp 'statistieken woning Straatnaam 12 Plaatsnaam'
(aangezien het om meerdere woningen gaat krijg ik dus wekelijks zo'n 25 e-mails.)

Nu wil ik graag een php bestand die de e-mails uitleest en de bijlage (.pdf bestand) opslaat in een map op de server...

Dus de statistieken voor: 'Straatnaam 12 Plaatsnaam' opslaan in 'straatnaam12plaatsnaam' en 'Hoofdstraat 16 Amsterdam' in 'hoofdstraat16amsterdam'.
Na het uitlezen van deze e-mails mogen ze gemarkeerd worden als gelezen of verwijderd worden...

Is dit mogelijk, zo ja hoe?
Als dit nl mogelijk is wil ik er een cronjob aan hangen die elke week automatisch deze taak uitvoerd.

Graag hoor ik van jullie...

mvg Albert

5 antwoorden

Gesponsorde links
Offline Koen - 03/07/2009 12:34
Avatar van Koen PHP expert Bekijk deze scriptjes dan maar een keer:
http://www.thef...ents.shtml :-)
Offline Appie_Dijk - 03/07/2009 12:40
Avatar van Appie_Dijk Lid @koen: ik hoef geen compleet mailprogramma zoals SquirrelMail e.d., deze zijn al geinstalleerd...
Offline Koen - 03/07/2009 13:32
Avatar van Koen PHP expert Je kan de broncode er toch even van bekijken?
Offline Martijn - 03/07/2009 13:41
Avatar van Martijn Crew PHP misschien dat het mogelijk is om via cURL int e loggen, maar ik neem aan dat ze daartegen beveiligd zijn
Offline Appie_Dijk - 03/07/2009 13:47
Avatar van Appie_Dijk Lid Ik heb nu deze class gevonden:

maar door deze zin: $jk->getdata($host,$login,$password,$savedirpath); krijgt in een interne serverfout (500)

  1. <?
  2. require_once("attachmentread.class.php");
  3. $host="mail.mijndomein.nl:110/pop3"; // pop3host
  4. $login="bijlage@mijndomein.nl"; // pop3 login
  5. $password="wachtwoord"; // pop3 password
  6. $savedirpath="bijlages/" ; // attachement will save in same directory where scripts run othrwise give abs path
  7. $jk=new readattachment(); // Creating instance of class####
  8. $jk->getdata($host,$login,$password,$savedirpath); // calling member function
  9. ?>


  1. <?
  2.  
  3. ######################################
  4.  
  5. #Coded By Jijo Last Update Date[Jan/19/06]
  6.  
  7. #####################################
  8.  
  9.  
  10.  
  11.  
  12. ##########################################################
  13.  
  14.  
  15. ###################### Class readattachment ###############
  16. class readattachment
  17. {
  18.  
  19. function getdecodevalue($message,$coding)
  20. {
  21. if ($coding == 0)
  22. {
  23. $message = imap_8bit($message);
  24. }
  25. elseif ($coding == 1)
  26. {
  27. $message = imap_8bit($message);
  28. }
  29. elseif ($coding == 2)
  30. {
  31. $message = imap_binary($message);
  32. }
  33. elseif ($coding == 3)
  34. {
  35. $message=imap_base64($message);
  36. }
  37. elseif ($coding == 4)
  38. {
  39. $message = imap_qprint($message);
  40. }
  41. elseif ($coding == 5)
  42. {
  43. $message = imap_base64($message);
  44. }
  45. return $message;
  46. }
  47.  
  48. function getdata($host,$login,$password,$savedirpath)
  49. {
  50. $mbox = imap_open ($host, $login, $password) or die("can't connect: " . imap_last_error());
  51. $message = array();
  52. $message["attachment"]["type"][0] = "text";
  53. $message["attachment"]["type"][1] = "multipart";
  54. $message["attachment"]["type"][2] = "message";
  55. $message["attachment"]["type"][3] = "application";
  56. $message["attachment"]["type"][4] = "audio";
  57. $message["attachment"]["type"][5] = "image";
  58. $message["attachment"]["type"][6] = "video";
  59. $message["attachment"]["type"][7] = "other";
  60.  
  61. for ($jk = 1; $jk <= imap_num_msg($mbox); $jk++)
  62. {
  63. $structure = imap_fetchstructure($mbox, $jk , FT_UID);
  64. $parts = $structure->parts;
  65. $fpos=2;
  66. for($i = 1; $i < count($parts); $i++)
  67. {
  68. $message["pid"][$i] = ($i);
  69. $part = $parts[$i];
  70.  
  71. if($part->disposition == "ATTACHMENT")
  72. {
  73.  
  74. $message["type"][$i] = $message["attachment"]["type"][$part->type] . "/" . strtolower($part->subtype);
  75. $message["subtype"][$i] = strtolower($part->subtype);
  76. $ext=$part->subtype;
  77. $params = $part->dparameters;
  78. $filename=$part->dparameters[0]->value;
  79.  
  80. $mege="";
  81. $data="";
  82. $mege = imap_fetchbody($mbox,$jk,$fpos);
  83. $filename="$filename";
  84. $fp=fopen($filename,w);
  85. $data=$this->getdecodevalue($mege,$part->type);
  86. fputs($fp,$data);
  87. fclose($fp);
  88. $fpos+=1;
  89.  
  90.  
  91.  
  92. }
  93.  
  94. }
  95. //imap_delete tags a message for deletion
  96. //imap_delete($mbox,$jk);
  97.  
  98. }
  99. // imap_expunge deletes all tagged messages
  100. //imap_expunge($mbox);
  101. imap_close($mbox);
  102. }
  103. }
  104. ?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.185s