Aller au contenu

Piece jointe avec la classe phpmailer


Sujets conseillés

Posté

Salut !

Je rencontre un soucis dans l'envoi de PJ avec phpmailer :

- Si le path que je renseigne est de la forme "../image/truc.gif" cela fonctionne tres bien.

- Si le path est absolu (comme celle que je récupère via formulaire) du genre "C:/image/truc.gif" cela ne marche pas...

Il me retourne l'erreur : "Language string failed to load: file_accessC:image/truc.gif"

Mon code :

require "../phpmailer/class.phpmailer.php";
$mail = new PHPmailer();
$mail->IsSMTP();
$mail->Host='xxxxxxx';
$mail->From='xxxx';
$mail->AddAddress('xxxx');
$mail->Subject="xxxxxxxxx";
$mail->Body="xxxxxxxxxxxxxx";
$chemin = $stripslashes($pj);
$mail->AddAttachment("$chemin");
if(!$mail->Send())
{
echo $mail->ErrorInfo;
}
else
{
echo "OK"
}
$mail->SmtpClose();
unset($mail);

J'espère avoir été clair.....

Merci par avance ! :)

Posté

Salut,

Ta page php s'exécute sur le serveur, donc le chemin absolu dont tu parles (c: ...) s'applique au serveur. Or, qui te dit qu'un fichier de ce nom existe sur ce serveur ?

Les fichiers uploadés se récupèrent par le tableau $_FILES. C'est de ce côté là qu'il faut que tu orientes tes recherches.

Posté (modifié)

Merci pour ta réponse !

J'ai en effet résolu mon soucis avec $_FILES.

Pour info ça marche comme ça : (pj est le nom de ma piece jointe récupérée via formulaire).

$chemin_destination = '../Temp/';
move_uploaded_file($_FILES[pj]['tmp_name'], $chemin_destination.$_FILES[pj]['name']);
require "../phpmailer/class.phpmailer.php";
$mail = new PHPmailer();
$mail->IsSMTP();
$mail->Host='xxxxxxx';
$mail->From='xxxx';
$mail->AddAddress('xxxx');
$mail->Subject="xxxxxxxxx";
$mail->Body="xxxxxxxxxxxxxx";
$mail->AddAttachment("../Temp/".$_FILES[pj]['name']);
if(!$mail->Send())
{
echo $mail->ErrorInfo;
}
else
{
echo "OK"
}
$mail->SmtpClose();
unset($mail);

Modifié par XIII

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...