Mailbox mentése adott DIR-be a szerveren

Mailbox mentése adott DIR-be a szerveren
2006-06-14T09:28:35+02:00
2006-06-16T23:53:30+02:00
2022-10-31T07:30:42+01:00
George_hu
Sziasztok!

Az alábbi script bejelentkezik az adott e-mailboxba és letölti a csatolt fileokat az adott DIR-be.

Egyetlen probléma van, ha egynél több csatolt file van akkor azzal felülírja a továbbiakat. Igy minden
csatolt file azonos tartalmú lesz.

Van valakinek ötlete mi lehet a hiba?

Köszi



<?php
chmod("/home/user1/public_html/hali/get/store/", 0777);
$login = 'user@domain.net';
$password = 'password';
$mbox = imap_open("{domain.net:995/pop3/ssl/novalidate-cert}Inbox", "$login", "$password")
or die("Could not open Mailbox - try again later!");
//
// make connection with mailbox and check # messages
if ($hdr = imap_check($mbox)) {
echo "Num Messages " . $hdr->Nmsgs ."\n\n<br><br>";
$msgCount = $hdr->Nmsgs;
} else { echo "failed"; }
$overview=imap_fetch_overview($mbox,"1:$msgCount",0);
$size=sizeof($overview);


// get message info
for($i=$size-1;$i>=0;$i--)
{
$val=$overview[$i];
$msg=$val->msgno;
$from=$val->from;
$date=$val->date;
$subj=$val->subject;
$seen=$val->seen;
$from = ereg_replace("\"","",$from);


// Check for attachements and store them
$struct = imap_fetchstructure($mbox,$msg);
$contentParts = count($struct->parts);
if ($contentParts >= 2) {
for ($ix=2;$ix<=$contentParts;$ix++) {
$att[$ix-2] = imap_bodystruct($mbox,$msg,$ix);
}
for ($k=0;$k<sizeof($att);$k++) {
if ($att[$k]->parameters[0]->value == "us-ascii" ||
$att[$k]->parameters[0]->value == "US-ASCII") {
if ($att[$k]->parameters[1]->value != "") {
$FileName[$k] = $att[$k]->parameters[1]->value;
$FileType[$k] = strrev(substr(strrev($FileName[$k]),0,4));
}
} elseif ($att[$k]->parameters[0]->value != "iso-8859-1" &&
$att[$k]->parameters[0]->value != "ISO-8859-1") {
$FileName[$k] = $att[$k]->parameters[0]->value;
$FileType[$k] = strrev(substr(strrev($FileName[$k]),0,4));
$fileContent = imap_fetchbody($mbox,$msg,$file+2);
$fileContent = imap_base64($fileContent);


$localfile = fopen("/home/user1/public_html/hali/get/store/$FileName[$k]","w");
fputs($localfile,$fileContent);
fclose($localfile);
}
}
}
}
imap_close($mbox);
chmod("/home/user1/public_html/hali/get/store/", 0755);
?>
Mutasd a teljes hozzászólást!
Az 50 pont mellé egy 3000Ft-os mobilfeltöltést fel tudnék ajánlani a jó megoldásért.
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd