[PEAR] Mail qui marche en localhost mais pas sur le serveur

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [PEAR] Mail qui marche en localhost mais pas sur le serveur

Re: [PEAR] Mail qui marche en localhost mais pas sur le serveur

par Kajan » 30 juin 2010, 23:55

Finalement j'ai bidouillé avec PHPMailer.

Je suis d'abord passé par la méthode SMTP. Mais ça marchait pas non plus.

Puis j'ai changé un paramètre de PHPMailer pour envoyer les mails avec la fonction mail() de PHP :

Code : Tout sélectionner

$mail->IsMail(); au lieu de $mail->IsSMTP();
Et là, bizzarrement tout marche impeccablement.


J'ai réussi à bricoler pour que ça marche, mais si vous avez une idée de pourquoi mes premières tentatives marchaient pas, je suis preneur.


J'essayerai de comprendre quand j'aurai le temps de pousser mes recherches.

[PEAR] Mail qui marche en localhost mais pas sur le serveur

par Kajan » 28 juin 2010, 23:09

Bonsoir,

Je ne suis pas du genre à poser des questions de travers pour tout et rien, mais là je sèche vraiment.

J'ai fait une page de contact toute simple pour mon site, avec les champs nom, mail, objet et message.
Je l'avais codé et testé sur le serveur local, tout était impeccable.

Ensuite, est venu le moment de mettre le site en ligne.
J'ai changé le "include path" grâce à set_include_path comme ceci :
set_include_path('/homepages/**/d*********/htdocs/install/PEAR' . PATH_SEPARATOR
. get_include_path());

include 'Mail/mail.php';
(je c que l'erreur ne vient pas de là car j'utilise le package Pager ailleurs sur le site et il fonctionne bien).


Donc en gardant le reste du code tel quel, quand je veux envoyer un mail ça me met :
Fatal error: Class 'Mail' not found in /homepages/**/d*********/htdocs/install/PEAR/Mail/mail.php on line 52
Donc j'ai essayé de bidouiller et j'ai changé :
include 'Mail/mail.php';

en

include 'Mail.php'
Dans ce cas là je n'ai aucun message d'erreur, et mes tests indiquent que l'appel à la méthode send() n'a pas provoqué d'erreur.
Seulement, je ne reçois AUCUN mail.



Je vous ai donné les seuls lignes de code qui changent entre la version qui marche sur le localhost et la version qui marche pas sur le serveur 1and1, si vous voulez voir le reste du code, dites le moi.

En espérant trouver une solution avant de m'arracher le reste de mes cheveux.