8768 sujets

Développement web côté serveur, CMS

Bonjour,
J'ai fait une fonction dans laquelle j'envoie un mail avec des pièces jointes lors d'un clic sur un bouton. Ce mail s'envoie parfaitement à la personne que je veux avec les pièces jointes correspondantes (les pj sont dans un dossier précis et je lui indique le chemin pour les récupérer). Mon problème étant que les pièces jointes reçues dans le mail sont illisibles à l'ouverture. Quelqu'un aurait il une idée ? Faut-il déchiffrer la value qui est attachée à mon mail par exemple ?

Voila le message pour un pdf :

upload/1610965873-80834-capture.png

Le code :

// Chemin du dossier des pièces jointes
public function liste_pj_mail($meeting_id){
	    $path=getcwd().'/assets/piece_jointe_meeting/'.$meeting_id;
	    $piece_jointe=array();
		
		if($dossier = opendir($path)){
			$i=0;
			while(false !== ($fichier = readdir($dossier)))
			{
				if($fichier != '.' && $fichier != '..' && $fichier != 'index.php'){
					$piece_jointe[$i]['nom']=$fichier;
					$piece_jointe[$i]['pj_upload']='assets/piece_jointe_meeting/'.$meeting_id.'/'.$fichier;			
					$i++;
				}
			}
			closedir($dossier);	
		}	
		return $piece_jointe;
	}

// Fonction d'envoie de mail 
function sendOne( $seat_id ){
//... initialisation de variables etc  .... /
    $pj=$this->liste_pj_mail($meeting_id);
		foreach ($pj as $key=>$value){
			$this->email->attach($value['pj_upload']);
		}
		
		if($this->email->send()){
			// Log mail personnalisé
			$this->log_model->write( 'meeting', $meeting_id, 'envoi convocation' );
			// Redirection sur la view meeting correspondante
			redirect('meeting/view/' . $meeting_id );
		}else{
			throw new Exception("Erreur dans l'envoi du mail");
		}
}



View

<div class="row">
	<div class="col s3 right-align">Pièce jointe</div>
	     <div class="col s9">
                   <input type="file" id="pj_upload" name="pj_upload"  size="20"></div>
             </div>
</div>


Modifié par Jisiiss (18 Jan 2021 - 11:51)