Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] [RESOLU] Envoi d'email [problème d'entête, ...]

Posted by francois.thareau on 07/07/2009 18:35

Bonjour,

J'ai une application confirmant une inscription par email. Je suis reparti du tuto de la documentation.

Premier problème :

Je fais mon développement, tous va bien , puis une erreur :

 [exception 353] jMailer : Impossible d'instancier la fonction mail. D:\FTH\Projet\multi-touch-academie\lib\jelix\utils\jMailer.class.php 182

Je trouve comment corriger le problème grâce à la doc ( rajout d'un 1 !), je l'installe sur le serveur, toujours ok. Puis après deux ou trois test en LOCAL, je retrouve l'erreur.

Je veux bien un peu d'aide !

Second problème

 

Mon application d'envoi de mail est installé sur un serveur dédié (gentoo) OVH. L'application est en UTF-8.

 $mail = new jMailer();  
 $tpl2 = $mail->Tpl('blabla~preinscription');
 $tpl2->assign('name', $prenom.' '.$nom);
 $mail->AddAddress($email , $nom.' '.$prenom);
 $mail->Subject = 'toto sujet';
 $mail->Send();

 {meta From "toto<toto@toto.fr>"}

Sous windows :

   sous Outlook : 
      L'encodage des caractères est ok sujet/message
      Il n'y a pas d'expéditeur
      L'entête e-mail est présente dans le corps du message

   sous thunderbird :
      L'encodage des caractères du sujet est ok, mais pas celui des messages (cela peut venir de la config thunderbird)
      Il n'y a pas d'expéditeur
      L'entête e-mail est présente dans le corps du message

ex :

From: toto <toto @toto .fr>
Message-ID: <126ec766fdc572b5a@www.----.fr>
X-Priority: 3
X-Mailer: PHPMailer (phpmailer.codeworxtech.com) version 2.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset="UTF-8"
X-Ovh-Tracer-Id: 8185573799147788221
X-Ovh-Remote: 94.23.213.208 (ns304626.ovh.net)
X-Ovh-Local: 213.186.33.29 (mx1.ovh.net)
X-Spam-Check: DONE|U 0.5/N

Bonjour

Sous Ubuntu et Thunderbird:

      L'encodage des caractères est ok sujet/message
      L'expéditeur OK
      Et pas d'entête email dans le message !

Pour info j'ai essayé pas mal de config (Le from dans le controleur , le webmasterName .... Alors si vous avez des idées de configuration du serveur, de mon appli jelix , apache, php, je vous écoute.

  [Opened] Re: Envoi d'email [problème d'entête, ...]

Reply #1 Posted by foxmask on 07/08/2009 09:30

Bonjour,

Sous windows en "locale" il faut avoir son propre serveur SMTP. S'il n'y en a pas de configurer sur son ordinateur il se produit exactement cette erreur.

Sinon si on utilise les SMTP d'OVH dans le defaultconfig.ini.php, il est propable que les réponses retourner par le serveur ne soit pas assez rapide pour PHP. Cette tolérance qu'à un MUA mais peut-etre pas autant PHP ;-)

Je suggérerai bien de tester avec des temps de pause plus long entre chaque essai d'envoi de mail.

cdt.


@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !

  [Opened] Re: Envoi d'email [problème d'entête, ...]

Reply #2 Posted by francois.thareau on 07/08/2009 10:10

Bonjour,

Tu as réglé mon problème pour le local, Je passe par la fonction mail car je n'ai pas configurer le smtp. Dans le cas local il me mets aussi l'entête dans le message.

(et c'est un serveur dédié ovh)

Cordialement, François

  [Opened] Re: Envoi d'email [problème d'entête, ...]

Reply #3 Posted by laurentj on 07/08/2009 12:27

En lisant la source du message dans ton client mail, tu obtiens quoi ? (pour thunderbid : affichage > code source de la page)

  [Opened] [RESOLU] Re: Envoi d'email [problème d'entête, ...]

Reply #4 Posted by francois.thareau on 07/08/2009 14:44

Meric pour votre aide,

mon problème vient des compte mail dont je dispose chez ovh (sous gmail aucun soucis)

  [Opened] Re: [RESOLU] Envoi d'email [problème d'entête, ...]

Reply #5 Posted by Julien on 07/10/2009 18:28

Hello,

je crois que j'ai eu un problème du même genre à l'instant : une partie des entêtes de mail dans le corps du message.

La faute aux fins de ligne apparement :

  • il faut (RFC 2822) que les headers soient séparés par \r\n et phpMailer gère ça comme il faut.
  • l'ami Qmail (répandu sur les dedies release OVH, je pense que c'est ton smtp François ?) s'attend apparemment à recevoir uniquement des fins de lignes \n (standard UNIX) et les remplace par du \r\n.

Donc au final, on obtient : \r\r\n, plus conforme à la RFC et ça plante.

Historique de la chose : http://bugs.php.net/bug.php?id=15841

et la note sur http://fr.php.net/manual/fr/function.mai(..) :

Note: Si le message n'est pas reçu, essayez d'utiliser uniquement un caractère LF (\n). Quelques agents de transfert de mail Unix de mauvaise qualité remplacent le caractère LF par le caractère CRLF automatiquement (ce qui revient à doubler le caractère CR si le caractère CRLF est utilisé). Ceci doit être un dernier recours car cela ne correspond pas à la » RFC 2822.

Bon, je dirais pas que Qmail est de "mauvaise qualité", mais en tout cas il semble pas respecter la RFC de ce côté-là.

Pour la résolution, le mieux est de passer via un envoi SMTP plutôt que via la fonction mail().

Autre solution (uniquement si qmail et fonction mail()) :

 $mail = new jMailer();
 $mail->LE = "\n";

mais c'est plus chiant.

Peut-être qu'il faudrait que Jelix gère un paramètre "isQmail", et changer la propriété jMailer::$LE en fonction ? Il faudrait des tests approfondis sur d'autres mailers (postfix, exim, sendmail, ...)


Julien

 
Page
  1. [RESOLU] Envoi d'email [problème d'entête, ...]