Discussions sur les logiciels MLXcorp

Vous n'êtes pas identifié(e).

#1 2016-02-01 10:53:10

jol5926
Membre
Inscription : 2016-02-01
Messages : 11

Formulaire de recommandation

Bonjour,
j'ai intégré sur mon site le formulaire de recommandation que l'on trouve sur :

http://www.php-astux.info/script-formul … mander.php

tout fonctionne correctement sauf l'envoi, j'ai ce message :

Votre message n'a pu être envoyé : il y a une erreur au niveau du sereveur de mail. Veuillez nous excuser et réessayer sous peu, cela sera vite réparé.

Ce problème apparait lorsque j'active la fonction émail en copie pour le webmaster. En désactivant cette option tout fonctionne correctement

Merci de votre aide

Jol5926

Dernière modification par jol5926 (2016-02-01 16:16:56)

Hors ligne

#2 2016-02-02 21:34:46

Matthieu
Administrateur
Inscription : 2015-06-24
Messages : 89

Re : Formulaire de recommandation

Salut,
Est-ce qu'il y a un message d'erreur particulier qui se présente ?

Quel est le serveur de mail utilisé derrière ?

Hors ligne

#3 2016-02-03 09:45:40

jol5926
Membre
Inscription : 2016-02-01
Messages : 11

Re : Formulaire de recommandation

Matthieu a écrit :

Salut,
Est-ce qu'il y a un message d'erreur particulier qui se présente ?

Quel est le serveur de mail utilisé derrière ?

Hello,

Il n'y pas de message particulier. C'est le message ci-dessous qui apparait :

Votre message n'a pu être envoyé : il y a une erreur au niveau du sereveur de mail. Veuillez nous excuser et réessayer sous peu, cela sera vite réparé.

Quand je désactive la fonction envoi émail en copie, tout fonctionne correctement.

J'utilise la fonction mail fournit par mon hébergeur.

Merci

Hors ligne

#4 2016-02-03 16:55:42

Matthieu
Administrateur
Inscription : 2015-06-24
Messages : 89

Re : Formulaire de recommandation

OK ! Est-ce qu'il y a moyen d'accéder aux logs ?
J'ai eu par exemple, pour ce même formulaire en démo sur PHP-Astux une erreur (disons plutôt un avertissement) de Gmail parce que j'ai envoyé le mail depuis une adresse qui n'est pas en @php-astux : essayez de changer l'expéditeur, en mettant un no-reply sur le domaine en question.

De même, s'il y a un champ SPF sur le domaine, il faut ajouter l'IP v4 (voire V6) du serveur.

Hors ligne

#5 2016-02-03 17:45:14

jol5926
Membre
Inscription : 2016-02-01
Messages : 11

Re : Formulaire de recommandation

Matthieu a écrit :

OK ! Est-ce qu'il y a moyen d'accéder aux logs ?
J'ai eu par exemple, pour ce même formulaire en démo sur PHP-Astux une erreur (disons plutôt un avertissement) de Gmail parce que j'ai envoyé le mail depuis une adresse qui n'est pas en @php-astux : essayez de changer l'expéditeur, en mettant un no-reply sur le domaine en question.

De même, s'il y a un champ SPF sur le domaine, il faut ajouter l'IP v4 (voire V6) du serveur.

Hello,

C'est un peu trop compliqué pour moi, mes compétences dans ce domaine sont très très limitées.
J'ai un hébergeur mais sans nom de domaine , mon adresse = "http://www.jose.monespace.net/monptitcoin".
hébergeur = easy-hébergement

Est-ce que cela peut éventuellement créer un problème ?

Comment je dois faire avec no-reply ?

Dernière modification par jol5926 (2016-02-03 17:45:46)

Hors ligne

#6 2016-02-03 18:22:39

Matthieu
Administrateur
Inscription : 2015-06-24
Messages : 89

Re : Formulaire de recommandation

Comment je dois faire avec no-reply ?

J'ai récemment découvert cette erreur de mon côté (il y a 1 mois !) par l'évolution de certaines contraintes chez Google mail, mais d'autres sont peut être concernés aussi.
Essaie avec une adresse mail qui soit liée au domaine, idéalement qui existe. Par exemple , dans la fonction "SendRecommandMail", remplace la ligne :

$headers  = 'From:'.$exp_nom.' <'.$exp_mail.'>' . "\r\n";

par

$headers  = 'From:'.$exp_nom.' <no-reply@monespace.net>' . "\r\n";

L'idéal serait de voir le code source et surtout les "headers" du mail reçu. Il y a une page où je peux faire un test qui fonctionne ?

Hors ligne

#7 2016-02-03 18:44:37

jol5926
Membre
Inscription : 2016-02-01
Messages : 11

Re : Formulaire de recommandation

voici l'adresse du site :
http://www.jose.monespace.net/monptitcoin
Sur la droite tu as "recommander ce site à un ami"

J'ai essayé avec no-reply et cela ne fonctionne pas

Hors ligne

#8 2016-02-03 19:04:21

Matthieu
Administrateur
Inscription : 2015-06-24
Messages : 89

Re : Formulaire de recommandation

je viens d'essayer à l'instant, et j'ai eu ce message :

Votre message est bien parti, merci d'avoir recommandé ce site !

Fermer la fenêtre !

et le mail est bien reçu sur mon email "destination".

EDIT : voici le mail reçu (avec les entêtes)

Delivered-To: xxx@newslettux.fr
Received: by 10.194.41.138 with SMTP id f10csp1276104wjl;
        Wed, 3 Feb 2016 09:03:04 -0800 (PST)
X-Received: by 10.25.65.5 with SMTP id o5mr1389146lfa.38.1454518984962;
        Wed, 03 Feb 2016 09:03:04 -0800 (PST)
Return-Path: <www-data@node07.cluster1.easy-hebergement.net>
Received: from smtp02-out.easy-hebergement.net (smtp02-out.easy-hebergement.net. [91.238.72.12])
        by mx.google.com with ESMTP id mw6si4572747lbb.81.2016.02.03.09.03.04
        for <xxx@newslettux.fr>;
        Wed, 03 Feb 2016 09:03:04 -0800 (PST)
Received-SPF: pass (google.com: domain of www-data@node07.cluster1.easy-hebergement.net designates 91.238.72.12 as permitted sender) client-ip=91.238.72.12;
Authentication-Results: mx.google.com;
       spf=pass (google.com: domain of www-data@node07.cluster1.easy-hebergement.net designates 91.238.72.12 as permitted sender) smtp.mailfrom=www-data@node07.cluster1.easy-hebergement.net;
       dmarc=fail (p=NONE dis=NONE) header.from=email.source
Received: from node07.cluster1.easy-hebergement.net (node07.cluster1.local.easy-hebergement.net [172.16.2.79])
    by smtp02-out.easy-hebergement.net (Postfix) with ESMTP id 4C65E608C4
    for <xxx@newslettux.fr>; Wed,  3 Feb 2016 18:03:04 +0100 (CET)
Received: from node07.cluster1.easy-hebergement.net (localhost [127.0.0.1])
    by node07.cluster1.easy-hebergement.net (Postfix) with ESMTP id 314A111F75F
    for <xxx@newslettux.fr>; Wed,  3 Feb 2016 18:03:04 +0100 (CET)
Received: from node07.cluster1.easy-hebergement.net (localhost [127.0.0.1])
    by node07.cluster1.easy-hebergement.net (Postfix) with SMTP
    for <xxx@newslettux.fr>; Wed,  3 Feb 2016 18:03:04 +0100 (CET)
Received: (from www-data@node07.cluster1.easy-hebergement.net)
    by node07.cluster1.easy-hebergement.net (mini_sendmail/1.3.6 29jun2005);
    Wed, 03 Feb 2016 18:03:04 CET
    (sender www-data@node07.cluster1.easy-hebergement.net)
To: xxx@newslettux.fr
Subject: Recommandation d'un site
X-PHP-Originating-Script: 2437:recommander.php
From:Matthieu (depuis MonPtitCoin) <matthieu@email.source>
Reply-To: matthieu@email.source
Message-Id: <20160203170304.314A111F75F@node07.cluster1.easy-hebergement.net>
Date: Wed,  3 Feb 2016 18:03:04 +0100 (CET)

Bonjour matthieu
Matthieu voudrait vous recommander ce site : http://www.jose.monespace.net/monptitcoin

-------------------------
Il (Elle) a ajout le message suivant :
Matthieu (MLXCORP) qui teste le formulaire :-)
A bientt sur http://www.jose.monespace.net/monptitcoin
L'quipe d'administration.

Dernière modification par Matthieu (2016-02-03 19:07:23)

Hors ligne

#9 2016-02-03 19:42:25

jol5926
Membre
Inscription : 2016-02-01
Messages : 11

Re : Formulaire de recommandation

Hello,

oui, tout cela fonctionne sauf que je ne reçois pas l'émail qui me prévient lorsqu'il y a eu une recommandation.
Je ne reçois pas l'émail en tant que webmaster quand j'active la fonction ci-dessous

$recevoir_copie = 'non'; // si 'oui', vous recevrez une copie de chaque mail de recommandation

dans le fichier recommander.php

<body>
<?php
    // Configuration basique du script

    // ETAPE 1 : renseignez les valeurs ci-dessous
    $subject = "Recommandation d'un site"; // sujet de l'email
    $url_site = 'http://www.jose.monespace.net/monptitcoin'; // L'adresse de votre site
    $sitename = "MonPtitCoin"; // nom de votre site
    $recevoir_copie = 'non'; // si 'oui', vous recevrez une copie de chaque mail de recommandation
    $mon_mail = 'monptitcoin@orange.fr'; // votre email pour recevoir les copies

    // ETAPE 2 : renseignez le chemin relatif vers le fichier antispam.php
    require_once('antispam.php'); // pour définir les questions et les réponses

    // C'EST TOUT :-)

Hors ligne

#10 2016-02-03 21:56:25

Matthieu
Administrateur
Inscription : 2015-06-24
Messages : 89

Re : Formulaire de recommandation

je viens de mettre une démo en ligne sur mon site : https://www.mlxcorp.net/demo/jol5926/recommander1.php
(son code source est la même URL avec un .txt à la fin au lieu du .php)

ton email est dedans, je viens de tenter un mail avec copie, j'ai l'impression qu'il est reçu. (en tout cas j'ai eu le message "email parti" et pas de mail d'erreur en retour encore).

Si j'ai un mail d'erreur, je mettrai un nouveau message.

Hors ligne

#11 2016-02-03 23:32:20

jol5926
Membre
Inscription : 2016-02-01
Messages : 11

Re : Formulaire de recommandation

Matthieu a écrit :

je viens de mettre une démo en ligne sur mon site : https://www.mlxcorp.net/demo/jol5926/recommander1.php
(son code source est la même URL avec un .txt à la fin au lieu du .php)

ton email est dedans, je viens de tenter un mail avec copie, j'ai l'impression qu'il est reçu. (en tout cas j'ai eu le message "email parti" et pas de mail d'erreur en retour encore).

Si j'ai un mail d'erreur, je mettrai un nouveau message.

J'ai bien reçu l'émail en copie, donc cela fonctionne.
Je ne comprends pas pourquoi cela ne fonctionne pas avec mon hébergeur ???
Je viens de refaire des essais et ça ne fonctionne toujours pas même avec ton fichier source.

Demain, j'aurais le fichier log d'aujourd'hui et nous verrons s' il y a la solution.

Merci

Dernière modification par jol5926 (2016-02-03 23:42:02)

Hors ligne

#12 2016-02-04 01:01:00

Matthieu
Administrateur
Inscription : 2015-06-24
Messages : 89

Re : Formulaire de recommandation

OK.

Dans la doc hébergeur : http://www.easy-hebergement.fr/foire-au … tetes-mail
il y a bien cette notion d'email appartenant à l'hébergement, mais dans leur exemple en fin de page, c'est quasi la même chose que ce que j'ai fait.
autre possibilité : http://blog.easy-hebergement.fr/personn … etes-mail/ (dernier commentaire).

Auquel cas la ligne

$headers  = 'From:'.$exp_nom.' <'.$exp_mail.'>' . "\r\n";

ne bouge pas, mais la ligne

return mail($recipient,$subject,$message,$headers);

deviendrait (à tester car je n'ai pas de compte easy-H) :

return mail($recipient,$subject,$message,$headers, "-f  ".$mon_mail);

Hors ligne

#13 2016-02-04 12:07:22

jol5926
Membre
Inscription : 2016-02-01
Messages : 11

Re : Formulaire de recommandation

Hello,

je viens de faire la modification et toujours en échec

la ligne que j'ai modifié

return mail($recipient,$subject,$message,$headers,"-f".$mon_mail);

message d'erreur obtenue lors de l'essai :

Notice: Undefined variable: mon_mail in /public_html/monptitcoin/recommandersiteweb/recommander.php on line 57
Votre message n'a pu être envoyé : il y a une erreur au niveau du sereveur de mail. Veuillez nous excuser et réessayer sous peu, cela sera vite réparé.

Fermer la fenêtre !

la ligne 57 correspond à la ligne modifiée

Hors ligne

#14 2016-02-04 15:06:41

Matthieu
Administrateur
Inscription : 2015-06-24
Messages : 89

Re : Formulaire de recommandation

il y a une erreur de syntaxe déjà, j'avais mis un espace que tu ne sembles pas avoir remis.

return mail($recipient,$subject,$message,$headers, "-f  ".$mon_mail);

un espace après le -f et juste avant la fermeture des guillemets doubles.

la variable $mon_mail est définie plus haut :

$mon_mail = 'monptitcoin orange.fr'; // votre email pour recevoir les copies

mais effectivement, il faut pouvoir y accéder.
Donc juste avant la ligne (modifiée)

return mail($recipient,$subject,$message,$headers, "-f  ".$mon_mail);

rajoute :

global $mon_mail;

Hors ligne

#15 2016-02-04 18:52:04

jol5926
Membre
Inscription : 2016-02-01
Messages : 11

Re : Formulaire de recommandation

Hello,
je viens de tester, cela ne fonctionne toujours pas.
J'ai contacté la hotline de mon hébergeur et après vérification de leur part, ce serait une erreur renvoyé par le script, de leur côté tout est ok !

// Envoie le mail
    function SendRecommandMail($recipient, $subject, $message, $exp_nom, $exp_mail)
    {
        $headers  = 'From:'.$exp_nom.' <'.$exp_mail.'>' . "\r\n";
        $headers .= 'Reply-To: '.$exp_mail. "\r\n";
        $message = html_entity_decode($message);
        $message = str_replace('&#039;',"'",$message);
        $message = str_replace('&#8217;',"'",$message);
        $message = str_replace('<br>','',$message);
        $message = str_replace('<br />','',$message);
       
       
        global $mon_mail;
        return mail($recipient,$subject,$message,$headers, "-f ".$mon_mail);
    };

C'est bizarre, je fais un copier-coller du fichier et je m'aperçois qu'il n'y a pas l'espace sur -f alors que sur mon fichier d'origine, il y a bien un espace ???

Dernière modification par jol5926 (2016-02-04 19:06:47)

Hors ligne

#16 2016-02-04 22:19:20

Matthieu
Administrateur
Inscription : 2015-06-24
Messages : 89

Re : Formulaire de recommandation

est-ce qu'il y a moyen de me donner un accès FTP sur un dossier, avec juste un droit sur ce dossier et pas ailleurs (que je puisse faire quelques essais) ?

Hors ligne

#17 2016-02-05 10:06:28

jol5926
Membre
Inscription : 2016-02-01
Messages : 11

Re : Formulaire de recommandation

Matthieu a écrit :

est-ce qu'il y a moyen de me donner un accès FTP sur un dossier, avec juste un droit sur ce dossier et pas ailleurs (que je puisse faire quelques essais) ?

Hello,
j'ai créé un accès ftp pour faire tes essais avec un répertoire "test" à la racine.
Comment je te transmet les infos de l'identifiant et mot de passe ??

Dernière modification par jol5926 (2016-02-05 10:45:21)

Hors ligne

#18 2016-02-05 17:49:41

Matthieu
Administrateur
Inscription : 2015-06-24
Messages : 89

Re : Formulaire de recommandation

il s'agit seulement de créer un 2è accès FTP oui :-)

Mon mail : XXX

Merci !

Dernière modification par Matthieu (2016-02-05 21:48:12)

Hors ligne

#19 2016-02-05 18:19:43

jol5926
Membre
Inscription : 2016-02-01
Messages : 11

Re : Formulaire de recommandation

Matthieu a écrit :

il s'agit seulement de créer un 2è accès FTP oui :-)

Mon mail : XXX

Merci !

Email envoyé !

Dernière modification par Matthieu (2016-02-05 21:48:23)

Hors ligne

#20 2016-02-05 21:47:27

Matthieu
Administrateur
Inscription : 2015-06-24
Messages : 89

Re : Formulaire de recommandation

J'ai compris l'erreur. L'hébergeur aurait pu en dire un peu plus ...
L'erreur se produit lorsqu'on met "oui" à "voulez-vous recevoir une copie" : visiblement, sur cet hébergeur, un mail ne peut pas être envoyé à 2 emails à la fois par ce moyen. Il faut faire les destinataires 1 par 1.

J'ai donc adapté le fichier "recommander.php" comme ceci.

J'ai modifié

	if ($recevoir_copie == 'oui')
		$destinataires = $desti_email.';'.$mon_mail;

par

	if ($recevoir_copie == 'oui')
		$destinataires = $mon_mail.';'.$desti_email;

(pour avoir l'email du webmaster en 1er)

et j'ai modifié :

	return mail($recipient,$subject,$message,$headers);

par :

	$tmp = explode(';', $recipient);

	foreach($tmp as $destinataire)
		$return = mail($destinataire,$subject,$message,$headers);

	return $return;

(ainsi le code d'erreur correspond vraiment au mail reçu par le visiteur final).

J'ai laissé le fichier source sur ton FTP, tu peux supprimer l'accès temporaire et récupérer ce que tu veux.

Hors ligne

#21 2016-02-05 23:13:02

jol5926
Membre
Inscription : 2016-02-01
Messages : 11

Re : Formulaire de recommandation

Matthieu a écrit :

J'ai compris l'erreur. L'hébergeur aurait pu en dire un peu plus ...
L'erreur se produit lorsqu'on met "oui" à "voulez-vous recevoir une copie" : visiblement, sur cet hébergeur, un mail ne peut pas être envoyé à 2 emails à la fois par ce moyen. Il faut faire les destinataires 1 par 1.

J'ai donc adapté le fichier "recommander.php" comme ceci.

J'ai modifié

	if ($recevoir_copie == 'oui')
		$destinataires = $desti_email.';'.$mon_mail;

par

	if ($recevoir_copie == 'oui')
		$destinataires = $mon_mail.';'.$desti_email;

(pour avoir l'email du webmaster en 1er)

et j'ai modifié :

	return mail($recipient,$subject,$message,$headers);

par :

	$tmp = explode(';', $recipient);

	foreach($tmp as $destinataire)
		$return = mail($destinataire,$subject,$message,$headers);

	return $return;

(ainsi le code d'erreur correspond vraiment au mail reçu par le visiteur final).

J'ai laissé le fichier source sur ton FTP, tu peux supprimer l'accès temporaire et récupérer ce que tu veux.

Hello,
Je viens de faire les essais et tout est ok.
Merci pout tout et de ta disponibilité
C'est super !!

Hors ligne

#22 2016-04-17 19:36:21

momongana
Membre
Inscription : 2016-04-17
Messages : 1

Re : Formulaire de recommandation

Bonjour,
Aprés mettre servi de votre code formulaire de recommandation, il ne fonctionnait pas.
Fort heureusement je me suis inscris sur ce forum et miracle... j'ai trouvé la réponse !
J'ai donc rectifié et maintenant c'est impeccable ! MERCI
Je me suis servi de ce code (un peu amélioré en css) sur deux sites : www.provence-pub.fr et www.jmc-auto.fr
Par contre, il serait bon de rectifier sur votre site afin que d'autres puissent le recopier sans erreur.
Ce serait formidable !
Merci encore.

Hors ligne

#23 2016-04-19 17:13:43

Matthieu
Administrateur
Inscription : 2015-06-24
Messages : 89

Re : Formulaire de recommandation

Bonjour

merci pour ce feedback. Dans le cas présent, c'était une restriction de l'hébergeur qui a demandé une modification du script initial. Mais effectivement, s'il y a un autre retour ça vaut le coup de pousser un peu la réflexion :-)

J'ai donc mis à jour le site en conséquence, de même pour le formulaire de contact en PHP.

Hors ligne