#31 2009-04-25 10:28:03

rub
Former Piwigo Team
Lille
2005-08-26
5239

Re: [résolu] Erreur Envoi Mail

Je séche..

As-tu essayé un sendmail pour windows pour voir si ca fonctionne mieux?

Hors ligne

#32 2009-04-25 17:10:33

Korben
Membre
2008-09-17
139

Re: [résolu] Erreur Envoi Mail

En fait ce que je ne comprends pas c'est que la notification dans le menu Administration fonctionne bien, pas de pb mais lorsqu'un utilisateur marque un commentaire l'envoi de message ne fonctionne pas et renvoi des erreurs. C'est ça qui est bizarre aussi.
Donc je ne vois pas ce que Sendmail changera. Tu comprends ?


Piwigo 2.5.1

Hors ligne

#33 2009-04-25 19:57:15

rub
Former Piwigo Team
Lille
2005-08-26
5239

Re: [résolu] Erreur Envoi Mail

Korben a écrit:

Donc je ne vois pas ce que Sendmail changera. Tu comprends ?

Ben, ca marche ailleurs... et Piwigo fait la même chose partout => c'est sans doute le sendmail...

C'est juste pour vérifier que c'est bien le sendmail qui fait déconner le truc...
Si c'est le cas, c'est que quelque chose est mal interprété du coté sendmail ou qu'il n'aime pas certains trucs...

La différence entre les commentaires et la NBM, peut-être qu'il n'y a destinataires visible par défaut mais ca on peut le corriger par plugin.

Il n'y a pas possibilité de me laisser accès à la galerie pour faire des tests en live?

Hors ligne

#34 2009-04-26 00:42:43

Grand-Pa
Membre
Grenoble - France
2005-01-15
17

Re: [résolu] Erreur Envoi Mail

Bonjour,

Concernant les notifications par mail, j'ai constaté plusieurs problèmes :

* l'en-tête Date: est requise par les RFC => corriger /include/class_smtp_mail.inc.php

* d'après la RFC, il ne doit pas y avoir d'espace après le caractère ":" dans les en-têtes => corriger /include/class_smtp_mail.inc.php

* les erreurs type 501 semblent être liées à la ligne 133 dans /include/class_smtp_mail.inc.php : $this->server_write('RCPT TO: <'.$email.'>'."\r\n");
En la remplaçant par $this->server_write('RCPT TO: <toto@foo.com>'."\r\n"); le mail est bien envoyé, sans erreur

* il manque une balise <UL> à la ligne 54 dans /template/yoga/mail/text/html/notification_by_mail.tpl
Il faut corriger cette ligne par <ul>{$recent_post.HTML_DATA}</ul>

Hors ligne

#35 2009-04-26 12:20:25

rub
Former Piwigo Team
Lille
2005-08-26
5239

Re: [résolu] Erreur Envoi Mail

Merci de tes remarques.

Grand-Pa a écrit:

* l'en-tête Date: est requise par les RFC => corriger /include/class_smtp_mail.inc.php

* d'après la RFC, il ne doit pas y avoir d'espace après le caractère ":" dans les en-têtes => corriger /include/class_smtp_mail.inc.php

* les erreurs type 501 semblent être liées à la ligne 133 dans /include/class_smtp_mail.inc.php : $this->server_write('RCPT TO: <'.$email.'>'."\r\n");
En la remplaçant par $this->server_write('RCPT TO: <toto@foo.com>'."\r\n"); le mail est bien envoyé, sans erreur

Ok mais ca ne concerne que les envois que si $conf['smtp_host']  est défini.
Ce qui ne devrait plus être le cas pour Korben. Tu confirmes Korben?

Merci pour la remontée, c'est vrai que cette partie est surtout une option de secours quand les méthodes traditionnelles ne fonctionnent pas et d'ailleurs, elle n'est pas très recommandée mais nécessaire pour les smtp avec mot de passe.

Il faudrait que je prenne le temps de regarder tout ca.

Pour les points 1 & 2, si tu as une version corrigée du fichier, je peux l'intégrer dans la prochaine version.

Pour le point 3, je suis étonné que ca ne fonctionne pas, il doit y avoir un truc dans $email, dans les tests que tu as fait, il y a-t-il des espaces avant ou après dans la variable? ou autre chose?



Grand-Pa a écrit:

* il manque une balise <UL> à la ligne 54 dans /template/yoga/mail/text/html/notification_by_mail.tpl
Il faut corriger cette ligne par <ul>{$recent_post.HTML_DATA}</ul>

Effectivement ;-)
C'est corrigé [Subversion] r3255 & [Subversion] r3256

Hors ligne

#36 2009-04-26 13:13:00

Korben
Membre
2008-09-17
139

Re: [résolu] Erreur Envoi Mail

Bonjour,

Merci Maintenant ça fonctionne mais il y a qd même un pb !!
On ne devrait pas être obligé de rentrer notre adresse e-mail directement dans le fichier class_smtp_mail.inc.php
Vous ne croyez pas ?


Piwigo 2.5.1

Hors ligne

#37 2009-04-26 13:16:19

Grand-Pa
Membre
Grenoble - France
2005-01-15
17

Re: [résolu] Erreur Envoi Mail

C'était juste pour essayer de déterminer l'origine du problème.
Ne sachant pas le corriger moi-même, j'ai juste indiqué une piste pour les développeurs.
Ce n'est bien entendu pas une solution pour l'utilisateur final.

Hors ligne

#38 2009-04-26 13:21:47

Grand-Pa
Membre
Grenoble - France
2005-01-15
17

Re: [résolu] Erreur Envoi Mail

rub a écrit:

Pour les points 1 & 2, si tu as une version corrigée du fichier, je peux l'intégrer dans la prochaine version.

Pour le point 3, je suis étonné que ca ne fonctionne pas, il doit y avoir un truc dans $email, dans les tests que tu as fait, il y a-t-il des espaces avant ou après dans la variable? ou autre chose?

Pour les points 1 & 2, je n'ai pas pris le temps d'analyser le script pour ajouter une en-tête et je manque un peu de temps pour me plonger dedans.  :(

Pour le point 3, il faudrait voir le contenu de $recipients et s'assurer que l'on récupère une donnée valide dans $email
Mais je ne sais pas comment debugger ce genre de chose dans Piwigo.

Hors ligne

#39 2009-04-26 14:44:50

rub
Former Piwigo Team
Lille
2005-08-26
5239

Re: [résolu] Erreur Envoi Mail

Korben a écrit:

Bonjour,

Merci Maintenant ça fonctionne mais il y a qd même un pb !!
On ne devrait pas être obligé de rentrer notre adresse e-mail directement dans le fichier class_smtp_mail.inc.php
Vous ne croyez pas ?

Tu ne devrais pas passer le fichier class_smtp_mail.inc.php.
Au niveau de ta config, tu ne dois pas renseigner $conf['smtp_host'] pour passer le natif de php.
Tu comprends ce que je veux dire?
Retire les options que tu as mis dans ta config locale.

De plus en modifiant le fichier, tu changes les destinataires donc la modif n'est pas valable car elle permet d'envoyer uniquement à une seule personne.
Grand-Pa a fait ca pour déboguer.

Hors ligne

#40 2009-04-26 15:02:46

rub
Former Piwigo Team
Lille
2005-08-26
5239

Re: [résolu] Erreur Envoi Mail

Korben, si tu veux nous envoyer des traces, il suffit d'activer ca dans ton plugin personal:

Code:

function pwg_send_mail_test($result, $to, $subject, $content, $headers, $args)
{
    global $conf, $user, $lang_info;
    $dir = $conf['local_data_dir'].'/tmp';
    if ( mkgetdir( $dir,  MKGETDIR_DEFAULT&~MKGETDIR_DIE_ON_ERROR) )
    {
      $filename = $dir.'/mail.'.$user['username'].'.'.$lang_info['code'].'.'.$args['template'].'.'.$args['theme'];
      if ($args['content_format'] == 'text/plain')
      {
        $filename .= '.txt';
      }
      else
      {
        $filename .= '.html';
      }
      $file = fopen($filename, 'w+');
      fwrite($file, $to ."\n");
      fwrite($file, $subject ."\n");
      fwrite($file, $headers);
      fwrite($file, $content);
      fclose($file);
    }
    return $result;
}
add_event_handler('send_mail', 'pwg_send_mail_test', 1, 6);

Une fois le plugin activé.
Il y aura des traces dans _data\tmp

Hors ligne

#41 2009-04-26 15:15:14

Korben
Membre
2008-09-17
139

Re: [résolu] Erreur Envoi Mail

rub a écrit:

Tu ne devrais pas passer le fichier class_smtp_mail.inc.php.
Au niveau de ta config, tu ne dois pas renseigner $conf['smtp_host'] pour passer le natif de php.
Tu comprends ce que je veux dire?
Retire les options que tu as mis dans ta config locale.

De plus en modifiant le fichier, tu changes les destinataires donc la modif n'est pas valable car elle permet d'envoyer uniquement à une seule personne.
Grand-Pa a fait ca pour déboguer.

Je viens de supprimer tout ce qu'il y avait dans mon fichier "config_local.inc.php" et j'ai retrouver l'erreur comme avant.
En fait maintennt je suis carrément perdu !! Que dois-je faire et ne pas faire du coup ?
Merci


Piwigo 2.5.1

Hors ligne

#42 2009-04-26 15:17:58

Korben
Membre
2008-09-17
139

Re: [résolu] Erreur Envoi Mail

rub a écrit:

Korben, si tu veux nous envoyer des traces, il suffit d'activer ca dans ton plugin personal:

Code:

function pwg_send_mail_test($result, $to, $subject, $content, $headers, $args)
{
...
...
...
...
}
add_event_handler('send_mail', 'pwg_send_mail_test', 1, 6);

Une fois le plugin activé.
Il y aura des traces dans _data\tmp

Comment j'active ce fameux plugins svp ?
Je dois mettre le code que tu donne dans le fichier "config_local.inc.php" ????
Merci pour ton aide.


Piwigo 2.5.1

Hors ligne

#43 2009-04-26 15:25:21

Korben
Membre
2008-09-17
139

Re: [résolu] Erreur Envoi Mail

C'est bon je viens de trouver où fallait mettre ton code.
Je ne connaissais pas mais now c'est bon.
Je l'ai enregistré


Piwigo 2.5.1

Hors ligne

#44 2009-04-26 15:42:14

Korben
Membre
2008-09-17
139

Re: [résolu] Erreur Envoi Mail

J'ai activé le plugin mais j'ai toujours l'erreur :

"Warning: mail() [function.mail]: SMTP server response: 501 5.1.3 Bad recipient address syntax in C:\wamp\www\piwigo\include\functions_mail.inc.php on line 780"

Et rien du tout dans le répertoire "_data\tmp\"


Piwigo 2.5.1

Hors ligne

#45 2009-04-26 16:11:21

Korben
Membre
2008-09-17
139

Re: [résolu] Erreur Envoi Mail

Voici maintenant ma config :

Fichier "PHP.ini" :

[mail function]
; For Win32 only.
SMTP=smtp.monFAI.fr
;SMTP=localhost
smtp_port=25

; For Win32 only.
sendmail_from=titi.tata@toto.fr



Fichier "config_local.inc.php" :

<?php

// default_email_format:
//  Define the default email format use to send email
//  Value could be text/plain  or text/html
//$conf['default_email_format'] = 'text/html';

// define the name of sender mail:
// If value is empty, gallery title is used
//$conf['mail_sender_name'] = '';

// smtp configuration
// (work if fsockopen function is allowed for smtp port)
// smtp_host: smtp server host
//  if null, regular mail function is used
//   format: hoststring[:port]
//   exemple: smtp.pwg.net:21
// smtp_user/smtp_password: user & password for smtp identication
$conf['smtp_host'] = 'smtp.monFAI.fr';
//$conf['smtp_user'] = '';
//$conf['smtp_password'] = '';

?>



Fichier "notification_by_mail.tpl" :
  <url>{$recent_post.HTML_DATA}</url>




Fichier "class_smtp_mail.inc.php" :

      @reset($recipients);
      while (list(, $email) = @each($recipients))
      {
//        $this->server_write('RCPT TO: <'.$email.'>'."\r\n");
        $this->server_write('RCPT TO: <titi.tata@toto.fr>'."\r\n");
        $this->server_parse('250');
      }




Il n'y a QUE dans cette configuration que l'envoi des mails est correct.
Si ceci peut vous permettre de trouver ce qu'il faut faire...
De plus, le répertoire "_data\tmp" que j'ai dû créé reste complètement vide.
Le plugin que tu m'a fait mettre est pourtant activé, d'ailleurs comment vérifier qu'il fonctionne correctement ?



PS : Petite précision lorsque j'avais des erreurs, voici ce qui j'avais comme erreur dans les logs de WAMP :
"[26-Apr-2009 15:55:49] PHP Warning:  mail() [<a href='function.mail'>function.mail</a>]: SMTP server response: 501 5.1.3 Bad recipient address syntax in C:\wamp\www\piwigo\include\functions_mail.inc.php on line 780"

Dernière modification par Korben (2009-04-26 16:16:09)


Piwigo 2.5.1

Hors ligne

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact