erreur de nom de fichier attaché
Contexte : facteur configuré avec mailjet
un formulaire avec bigup (le fichier ne sera pas stocker, seulement envoyé) on fabrique donc l'array de pieces jointes, ce qui donne :
$pieces_jointes[] = [
'chemin' => $fichier['tmp_name'],
'nom' => $fichier['name'],
'encodage' => 'base64',
'mime' => $fichier['type'],
];
avec :
$fichier['tmp_name']
= tmp/bigupload/final/2_tofulm/gamumail/0979e3/fichiers[]/@f7918cc7@/arton3_jpg/file'
$fichier['name']
= toto.jpg
Quand on recoit le mail la pièce jointe est nommé : file
et non toto.jpg
Pour résoudre ce problème, une solution est de modifier la valeur du 2e arg de cet array
https://git.spip.net/spip-contrib-extensions/facteur/src/branch/master/lib/PHPMailer-6/src/PHPMailer.php#L3180
en $name
ce qui donnerait :
$this->attachment[] = [
0 => $path,
1 => $name, // et non $filename qui se base sur le nom temporaire du fichier
2 => $name,
3 => $encoding,
4 => $type,
5 => false, //isStringAttachment
6 => $disposition,
7 => $name,
];
Cette solution modifie la lib et non spip.
Y aurait il une autre solution ? sinon, renommer le fichier temporaire de bigup avant l'envoi puis le supprimer.