vanschklift.com

Aller au contenu | Aller au menu | Aller à la recherche

mercredi 3 décembre 2008

Dotclear 2 et envoi de mails

Il y a un aspect de la configuration de dotclear 2 qui est assez méconnu, c'est celui de la configuration de l'envoi de mail. C'est un problème que l'on rencontre fréquemment dans les applications php.

Lorsque l'on utilise la fonction mail de php il est très fréquent de voir les mails envoyés atterrir eu spam. Ceci est dû au fait que l'adresse de l'expéditeur n'est pas la même dans l'enveloppe et dans les headers ; les filtres antispam vérifient que ces deux champs sont égaux à la réception d'un mail.

Par défaut php (ou le serveur de mail, je ne suis pas sûr) va générer une adresse bidon pour l'expéditeur, à partir de l'utilisateur dans lequel le processus apache tourne. Ceci n'est pas pertinent, et pose problème dans notre cas.

Dotclear 2 fournit une solution par défaut dans son fichier de configuration, la fonction mail est en fait surchargée par une fonction maison de clearbricks, qui joue le rôle d'un serveur de mail, et qui envoie un mail bien formé. Pour plus d'infos voir le fichier de configuration et cette page de la doc : Personnaliser l'envoi des mails.

Cependant cette solution n'est pas optimale, notamment en termes de performance (sur un de mes sites, le script met plus de 30 secondes à s'exécuter à la soumission du formulaire). Il existe une solution qui n'est pas portable mais qui fonctionne mieux dans certains cas, il s'agit de passer les bonnes options à la fonction mail. Si on se trouve sur un serveur linux, avec sendmail ou postfix, il est possible d'envoyer des mails via la fonction mail, en ajoutant un argument dans le 5e paramètre de cette fonction mail, qui contient l'adresse de l'expéditeur.

Voici un exemple de fonction mail à placer dans votre config.php :

function _mail($to,$subject,$message,$headers)
{
        // recherche de l'adresse de l'expéditeur
        $h = explode("\n", $headers);
        $from = '';
        $p = null;
        foreach ($h as $l) {
                if (strpos($l, 'From:') === 0) {
                        if (preg_match('|<(.*)>|', $l, $matches))
                             $from = $matches[1];
                        break;
                }       
        }       

        // si l'adresse de l'expéditeur est trouvée, on ajoute le paramètre
        if (!empty($from)) {
                $p = '-f'.$from;
        }
        // appel à la fonction mail classique
        @mail($to, $subject, $message, $headers, $p);
}

Remarques :

  • Il est nécessaire de vérifier que votre "sendmail" supporte bien l'option -f (en tapant par exemple la commande suivante : echo test | sendmail -ftest@test.com monadresse@mondomaine.com).
  • D'apès la doc php, il faut vérifier que l'utilisateur dans lequel le serveur web tourne fait bien partie des utilisateurs de confiance du serveur de mail, sinon le mail sera envoyé avec un header X-Warning, qui risque de le bloquer au niveau des antispams. Personnellement j'ai envoyé un mail, et X-Warning n'est pas apparu dans les headers, donc tout va bien :) Pour plus de détails, voir la doc php pour la fonction mail, dans la description du paramètre additional_parameters.

Si vous avez des suggestions ou des remarques sur cette fonction, n'hésitez pas à les formuler ici dans les commentaires.

vendredi 1 août 2008

Dotclear 2 - 1 / duke nukem forever - 0

insérer ici une blague d'humour drôle je crois que je suis trop fatigué pour faire un post original, mais je suis très content, comme les copains, de la sortie de dotclear 2.0 en version finale, stable et tutti quanti. Bon ok, ça a fait des cycles de beta un peu longs, mais chez nous au moins on prend notre temps, on ne presse pas les mots pour qu'ils sortent prématurément

Dotclear 2.0, le blogware des gens biens !

note pour plus tard : penser à demander une augmentation dans ces fuckin' projets open source, juste pour voir la tête à toto !

jeudi 1 mai 2008

Remote Controlled

et voilà, une nouvelle version toute fraîche !

On croise les doigts pour qu'il n'y ait pas trop de bugs, et que l'on puisse sortir la finale très bientôt !

vendredi 25 avril 2008

Grand ménage dans les plugins dotclear

Honneur au plus ancien, Spamplemousse a subi quelques modifications mineures et est maintenant disponible en version 0.1.8. Dans le changelog il y a essentiellement :

  • la suppression du logging
  • deux nouvelles options dans le config.php du plugin pour la suppression directe des commentaires et des trackbacks (peut être utile chez free.fr par exemple)

Ces modifications sont inspirées d'un article de Franck Paul : Dotclear 1, Free et SPAM - Dans le code que je remercie vivement pour l'idée et pour les tests.

http://plugins.dotaddict.org/dc1/details/Spamplemousse

Pour Dotclear 2, Spamplemousse 2 est dispo en version finale (pas de modification depuis la RC).

http://plugins.dotaddict.org/dc2/details/Spamplemousse-2

Idem pour Kikoolol, qui a juste été repackagé, et qui est dispo en version 1.0 finale,

http://plugins.dotaddict.org/dc2/details/kikoolol

Support pour Spamplemousse (dotclear 1)

Si vous rencontrez des problèmes avec Spamplemousse, n'hésitez pas à le signaler ici.

mardi 15 avril 2008

Support pour Spamplemousse 2

Si vous rencontrez des problèmes avec le plugin Spamplemousse 2 pour Dotclear 2, discutons-en ici dans les commentaires. Pour une description plus précise sur les fonctionnalités et l'implémentation, il y a ce post.

dimanche 30 mars 2008

Viendez chez dotclear !

nous au moins on ne release pas trop vite :P

Ça coince chez Shelley Powers et pas seulement sur les bugs...

jeudi 27 mars 2008

dc.net rafraichi

c'est par là et c'est bien : www.dotclear.net

samedi 8 mars 2008

Teaser, teaser et demi

samedi 22 décembre 2007

say hello to plougs.da

Chers utilisateurs de dotclear,

y'a plougs.da qui vient d'ouvrir pour votre plus grand bonheur.

Veuillez agréer l'expression de nos sentiments les meilleurs


l'équipe dotaddict

mercredi 31 octobre 2007

addiction, un point c'est tout !

Quoi ? vous ne connaissez pas themes.dotaddict.org ? La nouvelle référence pour les themes dotclear ?

Félicitations aux copains qui l'ont réalisé ! beau boulot !

dimanche 2 septembre 2007

spamplemousse 2 : mise à jour

Je viens de terminer la nouvelle version 1.0rc de Spamplemousse2 pour dotclear 2. (pfiou, que de numéros!)
Outre des modifications mineures cette version apporte la compatibilité avec la beta 7 de dotclear 2.
Vous pouvez la télécharger ici :
N'hésitez pas à tester et à me faire part de vos remarques !


Edit : finalement ce sera une 2.0rc, H_I a raison, c'est plus simple :)

- page 1 de 2