@cljosse : Je viens de jeter un coup d'oeil rapide à ton plugin et il y a quelque chose qui m'interpelle :
Pourquoi fais-tu appel à send_mail() ? Ne serai-ce pas plutôt pwg_mail() qui serait à customiser ?
Je n'ai pas vraiment creusé le code mais c'est juste une constatation sommaire suite à un test d'inscription que j'ai effectué sur une de mes galeries qui n'a pas le plugin NBC_UserAdvManager. J'ai bien reçu le message de notification d'inscription mais je doute que cela dure bien longtemps. Voici le source du message reçu :
From - Tue Sep 22 21:47:26 2009
X-Account-Key: account3
X-UIDL: 36100.oZqqdRpWmhI,4o,FugkPmI93QY4=
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
X-Mozilla-Keys:
Return-Path: admin_pwg@free.fr
Received: from zimbra6-e1.priv.proxad.net (LHLO zimbra6-e1.priv.proxad.net)
(172.20.243.156) by zimbra6-e1.priv.proxad.net with LMTP; Tue, 22 Sep 2009
21:46:51 +0200 (CEST)
Received: from perso1.free.fr (mx28-g26.priv.proxad.net [172.20.243.98])
by zimbra6-e1.priv.proxad.net (Postfix) with ESMTP id 6D902380F
for <admin_pwg@zimbra6-e1.priv.proxad.net>; Tue, 22 Sep 2009 21:46:51 +0200 (CEST)
Received: from perso1.free.fr ([212.27.63.203])
by mx2-g20.free.fr (MXproxy) for admin_pwg@zimbra6-e1.priv.proxad.net ;
Tue, 22 Sep 2009 21:46:51 +0200 (CEST)
X-ProXaD-SC: state=HAM score=50
Received: from localhost.localdomain (localhost [127.0.0.1])
by perso1.free.fr (Postfix) with ESMTP id F1166D2F9CE;
Tue, 22 Sep 2009 21:47:10 +0200 (CEST)
XPARM: toto.free.fr
XPARAM2: 82.244.110.223
Subject: [Galerie du Clan] Enregistrement de test
Reply-To: "Galerie du Clan" <admin_pwg@free.fr>
To: undisclosed-recipients: ;
Content-Type: multipart/alternative;
boundary="---=tbE99vd4RJ2J8qR0jz51DP0511tizfx3";
reply-type=original
MIME-Version: 1.0
X-Mailer: Piwigo Mailer
Date: Tue, 22 Sep 2009 21:47:10
To: Undisclosed-recipients:;
Message-Id: <20090922194710.F1166D2F9CE@perso1.free.fr>
From: admin_pwg@free.fr
X-AntiVirus: checked (incoming) by AntiVir MailGuard (Version: 9.0.1.9; AVE: 8.2.1.23; VDF: 7.1.6.24)
This is a multi-part message in MIME format.
-----=tbE99vd4RJ2J8qR0jz51DP0511tizfx3
Ceci est un message est au format MIME.
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
Utilisateur: test
Email: toto@free.fr
Administration: http://toto.free.fr/phpwebgallery/admin … rname=test
Utilisateur connecté: visiteur
IP: 127.0.0.1
Navigateur: Mozilla/5.0 (Windows; U; Windows NT 6.0; fr; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)
-----=tbE99vd4RJ2J8qR0jz51DP0511tizfx3
Content-Type: text/html; charset="utf-8";
Content-Transfer-Encoding: 8bit
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="fr" dir="ltr">
<head>
<title>Piwigo Mail</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style><!-- /* Mini style for mails */
/* Global mail css */
body { font-family: Univers, Helvetica, Optima; font-size:12px; margin:0px; padding:0px; }
#the_page { margin:0px; padding:0px; text-align:left;}
#content { margin:0px; padding:82px 0px 0px 62px; width:732px;}
hr { width:632px; margin-left:0;}
#copyright { font-size:10px; margin:0px; padding:48px 0px 32px 62px;}
.PWG { font-family:verdana, sans-serif !important; font-size:0.9em; font-weight:normal; letter-spacing:0px;}
h2 { padding:7px 15px; width:617px; font-weight:bold;}
img { margin:16px; border:16px solid #aaa; -moz-border-radius: 4px; border-radius: 4px 4px; }
img:hover { padding: 15px; border: 1px solid yellow; -moz-border-radius: 4px; border-radius: 4px 4px; }/* Theme Sylvia mail css */
body { background-color:#111; color:#666;}
#the_page { }
#content { }
#copyright { background: transparent url(http://toto.free.fr/phpwebgallery/templ … ter-bg.jpg) no-repeat scroll left bottom;
min-height: 220px; height: 220px; width: 100%; min-width: 100%; padding: 10px 100px 30px 100px; }
h2 { color:#f70;background: transparent url(http://toto.free.fr/phpwebgallery/templ … fillet.gif) repeat-x scroll left bottom; padding-bottom: 5px;}
img { margin: 16px; border: 16px solid #444; -moz-border-radius: 4px; border-radius: 4px 4px; }
img:hover { padding: 15px; border: 0; background-color:#222;-moz-border-radius: 4px; border-radius: 4px 4px; }
a { color: #f70; background-color: transparent; border:0; text-decoration: none;}
a:hover { color: #F33; border-bottom: 1px solid #FF3363;}
a.thumblnk:hover { border:0;}
a.Piwigo { font-family: verdana, arial, helvetica, sans-serif; color : #F33; text-decoration: none; border: 0; }
a.Piwigo:hover { border-bottom: 1px solid #FF3363; }--></style>
</head>
<body>
<div id="the_page">
<div id="content" class="content"><p>Utilisateur: test<br />
Email: test@free.fr<br />
<br />
Administration: <a href='http://toto.free.fr/phpwebgallery/admin.php?page=user_list&username=test' class='thumblnk'>http://toto.free.fr/phpwebgallery/admin.php?page=user_list&username=test</a><br />
<br />
Utilisateur connecté: visiteur<br />
IP: 127.0.0.1<br />
Navigateur: Mozilla/5.0 (Windows; U; Windows NT 6.0; fr; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)<br />
</p></div> <!-- content -->
<div id="copyright">
<hr/>
Propulsé par
<a href="http://piwigo.org" class="Piwigo">
<span class="Piwigo">Piwigo</span></a>
- Contacter
<a href="mailto:toto@free.fr?subject=Un+commentaire+sur+le+site">Webmestre</a>
</div> <!-- copyright -->
</div> <!-- the_page -->
</body>
</html>
-----=tbE99vd4RJ2J8qR0jz51DP0511tizfx3--
On remarque bien l'ajout de la partie texte mais il y a aussi 2 header "To: Undisclosed-recipients:;". Les remarques de Yohan concernant le dysfonctionnement du mailer de Piwigo portaient sur :
- To: Undisclosed-recipients:; = Pas bien
- Format HTML *et* Text, c'est mieux.
Pour le format, cela me semble OK. Le "To :"... Qu'en penses-tu ?
Hors ligne
Bonjour.
@éric
Pourquoi fais-tu appel à send_mail() ? Ne serai-ce pas plutôt pwg_mail() qui serait à customiser ?
Je préfère modifier le moins possible le code.
Je ne rajoute que le code "ajout de texte".
Si on définit un "Content-Type: multipart/alternative; " il est logique de rajouter une partie texte.
et laisser le destinataire le choix entre "texte" et "html" avec son logiciel de reception.
On remarque bien l'ajout de la partie texte mais il y a aussi 2 header "To: Undisclosed-recipients:;".
Je regarde dans le plug in NBC_UserAdvManager.
Lors enregistrement d'un utilisateur le destinataire est "undisclosed-recipients:; Undisclosed-recipients:; " et non lors de la création de l'utilisateur.
Le "To :"... Qu'en penses-tu ?
Je serais pour le supprimer, chez certain Hébergeur il ne passe pas, pas d'envoie?? où alors c'est le fai qui le détecte et le met en quarantaine(orange) ... .
Actuellement je suis tricard chez free pour l'envoie de mails, suite a quelques éssais d'inscriptions.
Nombre d'envoies trop importants ???? , il me semble ne pas avoir vu de détection de SPAMS.... :-(
A+
Hors ligne
cljosse, quelques remarques.
Si tu renvoie false dans la fonction pwg_send_mail_test (à renommer pwg_send_mail_free?), tu passeras par l'envoi de mail standard notamment par smtp.
Pour la modification, que tu as fait, tu passer directement par l'événement send_mail_content ou send_mail_header.
Concernant la modification apporté, c'est à dire ajouter une partie texte.
Quand j'avais modifié, j'avais l'idée de mettre la vrai partie texte... même si c'est possible, c'est peut-être un peu compliqué dans l'état... Il faudrait voir si on utilisé des tpl texte ou bien faire une conversion htlm en texte... Bref... l'idée de mettre une partie texte "vide" pourrait être appliqué en standard... (avec une phrase indiquant que la partie texte n'est pas dispo ou un truc du style)..
Pour le "To: Undisclosed-recipients:;" , je ne sais plus si je l'avais mis pour faire beau ou bien si c'était nécessaire dans certaines configs...
Tests à faire pour voir si on supprime de la version de base...
Pour le faire plugin, tu prends l'event send_mail_header, tu recherches la ligne avec "To: Undisclosed-recipients:;" et tu la supprimes...
Hors ligne
@ eric
Après quelque tests avec userAdvManager il me semble que l'adresse du destinataire est absente lors de l'envoie des mails vers la fonction pwg_mail($email, array(....
???
@rub merci pour tes remarques pour mon plug-in "free_mail"
Hors ligne
Suite....
Voici ce que j'ai relevé ???.
arguments passés à la function pwg_mail($to, $args = array())
$to : [vide]
$args :
Array
(
[Bcc] => Array
(
[0] => "cl_josse"
)
[subject] => [Mes PHOTOS] Enregistrement de claude2
[content] => Utilisateur: claude2
Email: xxxxxx@xxxx.fr
Administration: http://192.168.1.25/cl.josse.free.fr/Ga … me=claude2
Utilisateur connecté: visiteur
IP: 192.168.1.25
Navigateur: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0; GTB6; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729)
[content_format] => text/plain
)
Une idée
A+
Hors ligne
cljosse a écrit:
Une idée
A+
J'ai pas compris !
Une idée sur quoi? Des choses que tu comprends pas? Ou des choses que tu veux modifier?
Hors ligne
Bonjour ;
pour information (plus à l'attention d'Eric), il semble que Yohan ait effectué une intervention chez Free (voir son message sur la NG Free). Donc il se peut que les conditions d'analyse des messages envoyés par les sites hébergés par Free, aient maintenant changé. Il y avait manifestement pas mal d'autres gens subissant le même problème que nous.
Je n'ai hélas pas le temps immédiatement de faire un test de la situation initiale (actuellement mes deux sites sont modifiés), mais j'essaye dès que possible.
Hors ligne
Après test, pas de changement avec functions_mail.inc.php d'origine (PWG version 2.0.3). Il n'y a donc pas eu de changement récent chez Free suite aux discussions sur ce sujet.
Hors ligne
Bonjour.
Mise à jour du plug in Plugin Mail (Free_mail) V:1.03.
Modifications:
Affichage d'une page avec les informations transmises en cas de Warning sur l'émission du mail.
Détecte si l'envoie du mail provoque un spam chez Free et bloque tout envoie de mail pour une durée de 48h. (temps de blocage chez FREE)
Une réintallation du plug-in éfface ce chien de garde.
Modification du header 'Ccc: ', 'Bcc:' qui empêchait les mails d'etre envoyés lors de l'utisation de AdvManager, et l'envoie des mails lors des "commentaires".
dans cetains cas...
A+
Hors ligne
Salut !
Cà prend forme, ce plugin ;-)
J'ai malheureusement encore une erreur à te soumettre (voir capture d'écran). Cela se produit au moment de l'inscription d'un utilisateur sur la galerie.
[Edit] Il semble y avoir un petit problème sur le forum : Pas possible d'attacher une image... Donc, voici une retranscription du message d'erreur :
"Erreur maito vide
Warning: Can not modify header information - Header already sent by (output started at ../piwigo/plugin/free_mail/mailinc.php:92) in ../piwigo/include/functions_user.inc.php on line 985"
Dernière modification par Eric (2009-09-24 22:22:20)
Hors ligne
Bonjour.
@t3nt4k
Warning: [mysql error 1146] Table 'catxav.piwigo_FREE_MAIL' doesn't exist
Désinstalle le plug-in , supprime le et réinstalle le, la table Table 'catxav.piwigo_FREE_MAIL' n'a pas été crée correctement.
*eric
"Erreur maito vide
Warning: Can not modify header information - Header already sent by (output started at ../piwigo/plugin/free_mail/mailinc.php:92) in ../piwigo/include/functions_user.inc.php on line 985"
En principe on a ce genre de message peut être du à l'envoi de code html avant d'appeler la fonction header.
(<?php
header('Refresh:1;url=../index.php');
)
Suite du déboguage de le fonction send_mail
Pourquoi utilser le headers 'Bcc' plutôt que l'envoie du destinataire par $to dans la fonction
[mail($to, $subject, $content, $headers); ?
Certain hébergeur refuse d'envoyer des mails ne comportant pas de destinataire 'direct' pour lutter contre les spams.
A+
Dernière modification par cljosse (2009-09-25 10:07:05)
Hors ligne
Bien vu le coup du bloquage des mail pendant 48h, tres utile pour ceux comme moi qui font un peu trop de tests et du coup se font bloque par free.
Au moins maintenant je sais que mon prochain test ne sera pas bloque par free pour abus de spam.
Hors ligne
cljosse a écrit:
*eric
"Erreur maito vide
Warning: Can not modify header information - Header already sent by (output started at ../piwigo/plugin/free_mail/mailinc.php:92) in ../piwigo/include/functions_user.inc.php on line 985"En principe on a ce genre de message peut être du à l'envoi de code html avant d'appeler la fonction header.
(<?php
header('Refresh:1;url=../index.php');
)
??? J'ai le cerveau en compote en ce moment :(
Est-ce que tu sous-entends qu'un contenu html serait déjà généré avant que le header le soit ? Comment cela est-ce possible ? Faut que je regarde dans mon plugin NBc_UserAdvManager s'il est en cause mais je doute.
cljosse a écrit:
Suite du déboguage de le fonction send_mail
Pourquoi utilser le headers 'Bcc' plutôt que l'envoie du destinataire par $to dans la fonction
[mail($to, $subject, $content, $headers); ?
Certain hébergeur refuse d'envoyer des mails ne comportant pas de destinataire 'direct' pour lutter contre les spams.
On peut mettre l'adresse du destinataire dans "To :" mais seulement pour les notifications personnelles (destinées à une et une seule personne). La fonction pwg_mail est également utilisée pour la notification de groupe. Et, dans ce cas, il n'est pas bon que tous les membres d'un groupe aient à connaitre l'adresse email des autres.
Je pense que c'est pour cela qu'on utilise le BCC. Ce qui serait intéressant c'est de pouvoir dissocier les mails individuels (utilisation du To:) des mails de groupe (BCC).
Hors ligne
Ok
C'est ce que j'ai compris, mais dans le headers la liste proposé des admins transmet a Bcc le nom et pas l'adresse des administrateurs lorsque plusiers admins sont en liste.
Et cela fait une erreur de destinataire.
dans mon plugin j'ai mis une seule adresse valide dansle headers bcc
Le headers undisclosed - recipient se remplie tout seul, inutile de envoyer le "headers to:"
A+
Hors ligne
Ok, je crois comprendre.
Effectivement, dans ce cas, le header "To :" est en trop. S'il y a plusieurs administrateurs déclarés sur une galerie, il faudrait tout de même les notifier tous. Cependant, en regardant le code du plugin, je m'aperçois que c'est le webmaster et non les administrateurs qui est inséré dans les headers "BCC :" et "CC :".
Ne faudrait-il pas rechercher les adresses des admins *et* du webmaster pour les inclures toutes dans ces champs? Par exemple : "CC :" pour les admins et "BCC :" pour le webmaster ?
Si non, pourquoi utiliser "CC :" si "BCC :" est saisi ?
Hors ligne