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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151
|
$server=$extranet_serveur;
$username=$MB_mail;
$password=$MB_mail_mdp;
$mbox = imap_open($server , $username, $password);
$uid = $_GET['uid'];
if ($uid>0){
$headerText = imap_fetchHeader($mbox, $uid, FT_UID);
$header = imap_rfc822_parse_headers($headerText);
$corps = imap_fetchbody($mbox, $uid, 1, FT_UID);
}
$client=@$_GET['client'];
header('Content-Type: text/html; charset=UTF-8');
extract($_POST);
function get_attachments($content, $part = null, $skip_parts = false) {
static $results;
if (is_null($part)) {
$results = array();
}
else {
if (substr($part, 0, 1) == '.') {
$part = substr($part, 1);
}
}
$actualpart = $part;
$split = explode('.', $actualpart);
if (is_array($skip_parts)) {
foreach ($skip_parts as $p) {
array_splice($split, $p, 1);
}
$actualpart = implode('.', $split);
}
if (strtolower($content->subtype) == 'rfc822') {
if (!is_array($skip_parts)) {
$skip_parts = array();
}
// Adding this part into the skip list
array_push($skip_parts, count($split));
}
if (isset($content->ifdparameters) && $content->ifdparameters == 1 && isset($content->dparameters) && is_array($content->dparameters)) {
foreach ($content->dparameters as $object) {
if (isset($object->attribute) && preg_match('~filename~i', $object->attribute)) {
$results[] = array(
'type' => (isset($content->subtype)) ? $content->subtype : '',
'encoding' => $content->encoding,
'part' => empty($actualpart) ? 1 : $actualpart,
'filename' => $object->value
);
}
}
}
else if (isset($content->ifparameters) && $content->ifparameters == 1 && isset($content->parameters) && is_array($content->parameters)) {
foreach ($content->parameters as $object) {
if (isset($object->attribute) && preg_match('~name~i', $object->attribute)) {
$results[] = array(
'type' => (isset($content->subtype)) ? $content->subtype : '',
'encoding' => $content->encoding,
'part' => empty($actualpart) ? 1 : $actualpart,
'filename' => $object->value
);
}
}
}
if (isset($content->parts) && count($content->parts) > 0) {
foreach ($content->parts as $key => $parts) {
get_attachments($parts, ($part.'.'.($key + 1)), $skip_parts);
}
}
return $results;
}
//A partir de la je bloque car je ne veux pas telecharger automatiquement les pieces jointes dans un dossier temporaire du style : $export_dir ="/jointes/";
// Je voudrais afficher un icone pour telecharger ou je veux la pièce jointe. Genre une image avec un lien tout telecharger qui me permette de choisir dans un champ un ID ou un dossier de destination
// mais je ne sais meme pas recuperer la piece jointe pour commencer
$mbox = imap_open ($server , $username, $password);
$num = imap_num_msg($mbox);
//// suite de l'extrait de mon code :
<div class="panel panel-default"><div class="panel-heading"><i class="fa fa-envelope-o"></i>Boite de Reception<div class="panel-tools"><a class="btn btn-xs btn-link panel-collapse collapses" href="#"></a></div></div>
<div class="panel-body messages">
<ul class="messages-list">
<?php
if($num==0){echo "<i>Aucun mail sur le serveur</i>";}
else
{
for($i=1;$i<=$num;$i++)
{
$header = imap_headerinfo($mbox, $i);
$datetime = $header->date; // L'heure du message
$datetime=strtotime($datetime);
$datetime = date("d-m-Y H:i", $datetime);
$subject = $header->subject; // Le sujet
$messageid = $header->message_id; // L'id du message
$toaddress = $header->toaddress; // Adresse de réception
$fromaddress = $header->fromaddress; // Expéditeur
$recent = $header->Recent; // Message récent -> O (oui) N (non)
$size = $header->Size; // Taille du mail
$numeromail = $header->Msgno; // Numéro du mail
$numeromail = str_replace(" ","", $numeromail);
$fromemail = '{'.$header->from[0]->mbox.'@'.$header->from[0]->host.'}';
$subject = str_replace("_"," ", mb_decode_mimeheader($subject));
$subject = trim(substr(quoted_printable_decode($subject), 0,500000));
echo '<li class="messages-item">'.$fromaddress.'<a href="messagerie.php?uid='.$numeromail.'" style="text-decoration:none"><span class="messages-item-preview">'.$datetime.'<br>-> <strong>'.$subject.' </strong></span></a></li>';
}
}
?>
</ul>
<?php
if ($uid>0)
{
$from=$header->from;
echo '
<div class="messages-content">
<div class="message-header">
<div class="message-time">->';
$datefrom = $header->date; $datefrom=strtotime($datefrom); $datefrom = date("d-m-Y H:i", $datefrom);
echo $datefrom.'<br></div>
<div class="message-from"><span style="font-weight:normal">De </span> '.$from[0]->personal.' <span style="font-weight:normal">('.$from[0]->mailbox."@".$from[0]->host.')</span></div>
<div class="message-subject">';
$subject = $header->subject;
$subject = str_replace("_"," ", mb_decode_mimeheader($subject));
$subject = trim(substr(quoted_printable_decode($subject), 0,500000));
echo $subject.'</div>
<div class="message-actions"><a title="Envoyer un autre message" href="messagerie.php?uid='.$uid.'&admail='.$from[0]->mailbox."@".$from[0]->host.'"><i class="fa fa-reply"></i></a></div>
</div>
<div class="message-content">
<p>'.$corps.'</p>
</div>
</div>';
}
?>
</div> |
Partager