HELP PAS DE FONCTION MAIL

41 messages dans ce sujet

Posté(e) · Signaler ce message

Bonjour?

Recherche une âme charitable.

Je cherche depuis plusieurs jours une solution à mon problème.

J'ai fait le forum en long, en large et en travers, mais rien.

Le client reçoit le mail lorsque qu'il paie par CB et paypal, mais rien quand le paiement est en chèque , mandat ou virement.

J'ai vu un début de solution dans un précédent topic mais je ne parviens pas à le mettre en place.

Le problème et de taille, puisque le client pense que la commande n'a pas été validée et donc perte d'argent.

Pouvez-vous, si vous avez rencontré le même problème m'aider.

Merci d'avance pour votre ou vos réponses.

Cordialement,

Balam

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Qui ne recoit pas le mail ,

Le client ou le vendeur, car la derniere fois on était parti sur le vendeur et là on semble parler du client.

Willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Qui ne recoit pas le mail ,

Le client ou le vendeur, car la derniere fois on était parti sur le vendeur et là on semble parler du client.

Willy

Bonjour Willy,

Le vendeur recoit le mail d'une commande.

Le client ne recoit pas de mail qui confirme sa commande lorsqu'il paient par chèque , mandat ou virement.

Les clients qui paient par cb recoivent le mail.

Cordialement,

Balam

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

OK ca n'est pas le même probleme alors :)

Dans la fonction "email_commande" de lib.fonctions.fonctions.php regardez si vous avez:

function email_commande(&$commandeid) {


	global $wwwroot;

	global $site;

	global $support;

	global $langfile;


	$result = mysql_query("SELECT * FROM peel_commandes WHERE id ='".$commandeid."'");


	$com = mysql_fetch_object($result);


	$timestamp = $com->o_timestamp;


	$montant = $com->montant;


	$goto = "/factures/facture_html.php?mode=proforma&id=$commandeid&timestamp=".urlencode($timestamp)."";


	$urlcommande = $wwwroot.$goto;


	# Mail d'information envoyé à l'administrateur - ENVOYER EN LANGUE FRANCAISE UNIQUEMENT


	mail(

		$support,

		"Nouvelle commande sur votre site web $site",

		"Une commande portant le numéro $commandeid vient d'être enregistrée sur le site $site.",

		"FROM:$support");	

	mail(

		"contact@demoniak-motors.com",

		"Nouvelle commande sur votre site web $site",

		"Une commande portant le numéro $commandeid vient d'être enregistrée sur le site $site.",

		"FROM:$support");


	$email_subject = EMAIL_ORDER_CONFIRMATION;

	$email_object = EMAIL_ORDER_MESSAGE."\n\r";

	$email_object .= "\n\r";

	$email_object .= EMAIL_ORDER_DATE." : ".return_date_fr($timestamp)."\n\r";

	$email_object .= "\n\r";

	$email_object .= EMAIL_ORDER_NUMBER." : ".$commandeid."\n\r";

	$email_object .= "\n\r";

	$email_object .= EMAIL_ORDER_AMOUNT." : ".fprix($montant)." EUR TTC\n\r";

	$email_object .= "\n\r";



	if ($com->paiement != CB) {


	$email_object .= EMAIL_ORDER_PROFORMA." : ".$urlcommande."\n\r";

	$email_object .= "\n\r";

	}


	$email_object .= EMAIL_THANKS."\n\r";


	mail($com->email,$email_subject,$email_object,"FROM:$support");		


}

C'est la dernière ligne qui envoit un email au client.

Willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

OK ca n'est pas le même probleme alors :)

Dans la fonction "email_commande" de lib.fonctions.fonctions.php regardez si vous avez:

function email_commande(&$commandeid) {


	global $wwwroot;

	global $site;

	global $support;

	global $langfile;


	$result = mysql_query("SELECT * FROM peel_commandes WHERE id ='".$commandeid."'");


	$com = mysql_fetch_object($result);


	$timestamp = $com->o_timestamp;


	$montant = $com->montant;


	$goto = "/factures/facture_html.php?mode=proforma&id=$commandeid&timestamp=".urlencode($timestamp)."";


	$urlcommande = $wwwroot.$goto;


	# Mail d'information envoyé à l'administrateur - ENVOYER EN LANGUE FRANCAISE UNIQUEMENT


	mail(

		$support,

		"Nouvelle commande sur votre site web $site",

		"Une commande portant le numéro $commandeid vient d'être enregistrée sur le site $site.",

		"FROM:$support");	

	mail(

		"contact@demoniak-motors.com",

		"Nouvelle commande sur votre site web $site",

		"Une commande portant le numéro $commandeid vient d'être enregistrée sur le site $site.",

		"FROM:$support");


	$email_subject = EMAIL_ORDER_CONFIRMATION;

	$email_object = EMAIL_ORDER_MESSAGE."\n\r";

	$email_object .= "\n\r";

	$email_object .= EMAIL_ORDER_DATE." : ".return_date_fr($timestamp)."\n\r";

	$email_object .= "\n\r";

	$email_object .= EMAIL_ORDER_NUMBER." : ".$commandeid."\n\r";

	$email_object .= "\n\r";

	$email_object .= EMAIL_ORDER_AMOUNT." : ".fprix($montant)." EUR TTC\n\r";

	$email_object .= "\n\r";



	if ($com->paiement != CB) {


	$email_object .= EMAIL_ORDER_PROFORMA." : ".$urlcommande."\n\r";

	$email_object .= "\n\r";

	}


	$email_object .= EMAIL_THANKS."\n\r";


	mail($com->email,$email_subject,$email_object,"FROM:$support");		


}

C'est la dernière ligne qui envoit un email au client.

Willy

Willy, voici ce que j'ai sur la page "fontions.php"

function email_commande(&$commandeid) {

global $wwwroot;

global $site;

global $support;

global $langfile;

$result = mysql_query("SELECT * FROM peel_commandes WHERE id ='".$commandeid."'");

$com = mysql_fetch_object($result);

$timestamp = $com->o_timestamp;

$montant = $com->montant;

$goto = "/factures/facture_html.php?mode=proforma&id=$commandeid&timestamp=".urlencode($timestamp)."";

$urlcommande = $wwwroot.$goto;

# Mail d'information envoyé à l'administrateur - ENVOYER EN LANGUE FRANCAISE UNIQUEMENT

mail(

$support,

"Nouvelle commande sur votre site web $site",

"Une commande portant le numéro $commandeid vient d'être enregistrée sur le site $site.",

"FROM:$support");

$email_subject = EMAIL_ORDER_CONFIRMATION;

$email_object = EMAIL_ORDER_MESSAGE."\n\r";

$email_object .= "\n\r";

$email_object .= EMAIL_ORDER_DATE." : ".return_date_fr($timestamp)."\n\r";

$email_object .= "\n\r";

$email_object .= EMAIL_ORDER_NUMBER." : ".$commandeid."\n\r";

$email_object .= "\n\r";

$email_object .= EMAIL_ORDER_AMOUNT." : ".fprix($montant)." EUR TTC\n\r";

$email_object .= "\n\r";

if ($com->paiement != CB) {

$email_object .= EMAIL_ORDER_PROFORMA." : ".$urlcommande."\n\r";

$email_object .= "\n\r";

}

$email_object .= EMAIL_THANKS."\n\r";

mail($com->email,$email_subject,$email_object,"FROM:$support");

}

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Ca parait bon pourtant.

Willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Ca parait bon pourtant.

Willy

Le chmod sur le fichier est 755, ces bon ?

Est-ce qu'il n'y a pas une fonction dans le fichier fin comande.php ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Le chmod sur le fichier est 755, ces bon ?

Est-ce qu'il n'y a pas une fonction dans le fichier fin comande.php ?

Désolé, mais il n'y a aucun rapport avec tel tou tel fichier en chmod 755 :)

La fonction appelée dans fin_commande.php est email_commande dans tous les cas de paiement normalement et cette fonction envoit un mail au support et au client ensuite, si vous avez l'email, le client aussi.

regardez pour les cass suspects s'il ya bien la zone "email" de renseignée pour cette commande.

Willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Désolé, mais il n'y a aucun rapport avec tel tou tel fichier en chmod 755 :)

La fonction appelée dans fin_commande.php est email_commande dans tous les cas de paiement normalement et cette fonction envoit un mail au support et au client ensuite, si vous avez l'email, le client aussi.

regardez pour les cass suspects s'il ya bien la zone "email" de renseignée pour cette commande.

Willy

Bon, je viens de refaire un test avec de nouvelle coordonnées et une nouvelle adresse mail.

Et bien, je recois le mail de récapitulatif d'ouverture de compte mais pas de la confirmation de commande en tant que client.

Alors là j'en perds mon latin

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Et en admin oui ?

Willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour balam,

J'ai exactement le meme probleme que toi, mais moi quel que soit le type de paiment le client ne recoit pas de mail.

Le mail d'enregistrement nouveau client arrive bien également

Pour willy : le mail admin arrive, et le fonction.php est comme le tien

Je suis en peel premium 3.8

Guillaime

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour balam,

J'ai exactement le meme probleme que toi, mais moi quel que soit le type de paiment le client ne recoit pas de mail.

Le mail d'enregistrement nouveau client arrive bien également

Pour willy : le mail admin arrive, et le fonction.php est comme le tien

Je suis en peel premium 3.8

Guillaime

Ce qu'il faut faire c'est surtout vérifier que les types de paiement renseignés dans votre base de données sont écrits de la même manière que dans votre fichier de langue

Car si ce n'est pas le cas, la fonction d'email ne sera pas appelé et le client ne reçoit pas le mail

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Oui, mais à ce moment là l'admin ne devrait pas en recevoir car la fonction email_commande, envoit au client et au support.

Vous recevez bien en tant que support le mail du genre:

"Nouvelle commande sur votre site web ...

Une commande portant le numéro .... vient d'être enregistrée sur le site ..."

Willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Ce qu'il faut faire c'est surtout vérifier que les types de paiement renseignés dans votre base de données sont écrits de la même manière que dans votre fichier de langue

Car si ce n'est pas le cas, la fonction d'email ne sera pas appelé et le client ne reçoit pas le mail

Bonjour Mr Ruault,

Il s'agit des types de paiement standart livré avec peel, je n'ai fais aucune modification la dessus.

Pourriez vous me donner les endroits dans les fichiers php a vérifier

Merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Pas sûr car dans ma versin (2.9), la fonction d'envoi de mail de la page fonciton.php n'est pas forcément appelée, et l'envoi des mails est le plus souvent géré directement dans la page fin_commande.php.

Je pense qu'il faut donc vérifier dans cette page.

Tu dois trouver des blocs :

CASE CHECK

CASE TRANSFER

CASE CB

CASE PAYPAL

Il faut voir ce qui se trouve dans ces blocs te voir si l'envoi des mails n'y est pas directement géré.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Pas sûr car dans ma versin (2.9), la fonction d'envoi de mail de la page fonciton.php n'est pas forcément appelée, et l'envoi des mails est le plus souvent géré directement dans la page fin_commande.php.

Je pense qu'il faut donc vérifier dans cette page.

Tu dois trouver des blocs :

CASE CHECK

CASE TRANSFER

CASE CB

CASE PAYPAL

Il faut voir ce qui se trouve dans ces blocs te voir si l'envoi des mails n'y est pas directement géré.

Bonjour à tous,

Pour réponsre je suis en version 3.8.

Je n'ai fait aucun changement dans les fichiers de particulier.

Je recois le mail admin.

Dans le fichier lang il faut donc rechercher si les formules sont les mêmes ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Pas sûr car dans ma versin (2.9), la fonction d'envoi de mail de la page fonciton.php n'est pas forcément appelée, et l'envoi des mails est le plus souvent géré directement dans la page fin_commande.php.

Je pense qu'il faut donc vérifier dans cette page.

Tu dois trouver des blocs :

CASE CHECK

CASE TRANSFER

CASE CB

CASE PAYPAL

Il faut voir ce qui se trouve dans ces blocs te voir si l'envoi des mails n'y est pas directement géré.

Tout a fait, et dans chacun des cas, il y a un appel à la fonction "email_commande", donc normalemnt dans chaque cas, l'admin et le client devraient recevoir un mail du type:

"Nouvelle commande sur votre site web ...

Une commande portant le numéro .... vient d'être enregistrée sur le site ..."

Willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Voila ce qui est dans fin_commande.php

merci

<?

include("../configuration.inc.php");

necessite_identification();

/* Test pour empêcher d'arriver ici par hasard ou en tapant l'url */

$caddie_est_vide = $_SESSION['caddie']->compte_elements() == 0;

$commande = charge_commande();

if ($caddie_est_vide || ! $commande) {

header("Location: $wwwroot");

die;

}

/* Création de la commande dans la base, autorise alors le paiement

* et informe le client que la commande est ok

*/

$commandeid = cree_commande($commande);

$DOC_TITLE = "[PEEL.FR]";

$modele_a_montrer = "affichage_fin_succes()";

/* Le caddie est réinitialisé pour ne pas laisser le client passer une deuxième commande en soumettant une deuxième fois le formulaire */

$_SESSION['caddie']->init();

vide_commandeinfo();

unset ($_SESSION['wantsurl']);

include("$repertoire_modele/haut.php");

eval($modele_a_montrer.";");

include("$repertoire_modele/bas.php");

/******************************************************************************

* FONCTIONS

*****************************************************************************/

function affichage_fin_succes() {

global $commandeid;

global $wwwroot;

global $paypal;

global $site;

global $support;

$result = mysql_query("SELECT * FROM peel_commandes WHERE id ='".$commandeid."'");

$com = mysql_fetch_object($result);

$message = "La commande $commandeid vient d'être enregistrée sur le site $site";

$message .= "\n\r";

$message .= "Email client : ".$com->email;

$message .= "\n\r";

$message .= "Référence commande : ".$com->id;

$message .= "\n\r";

$message .= "Montant de la commande : ".fprix($com->montant)." EUR";

$message .= "\n\r";

$message .= "Date de la commande : ".return_date_fr($com->o_timestamp);

$message .= "\n\r";

$message .= "Paiement : ".$com->paiement;

$message .= "\n\r";

$message .= "Merci de consulter l'interface d'administration de votre site.";

mail($support,"[$site] Enregistrement de la commande $commandeid",$message,"FROM:$support");

?>

<font class="entete"><?echo STEP3 ?></font>

<p></p>

<div class="normal">

<?php

echo MSG_THANKS;

switch ($com->paiement) {

case html_entity_decode(CHECK) :

email_commande($commandeid);

?>

<p>

- <?echo PRINT_PROFORMA?></p>

<p>

- <?echo SEND_CHECK ?> :

<?php

print_societe();

echo "</p>";

break;

case html_entity_decode(TRANSFER) :

email_commande($commandeid);

echo nl2br(SEND_TRANSFER);

print_rib();

break;

case html_entity_decode(PAYPAL) :

?>

<div align="center">

Pour r&eacute;gler par carte bancaire, cliquez ici :<br />

<form action="https://www.paypal.com/cgi-bin/webscr" method="post">

<INPUT TYPE="hidden" NAME="cmd" VALUE="_ext-enter">

<INPUT TYPE="hidden" NAME="redirect_cmd" VALUE="_xclick">

<input type="hidden" name="business" value="<?=$paypal?>">

<input type="hidden" name="item_name" value="<?=$site?> COMMANDE <?=$commandeid?>">

<input type="hidden" name="item_number" value="<?=$commandeid?>">

<input type="hidden" name="amount" value="<?echo number_format($com->montant,2);?>">

<input type="hidden" name="page_style" value="Primary">

<input type="hidden" name="no_shipping" value="1">

<input type="hidden" name="return" value="<?=$wwwroot?>/modules/paypal/ok.php?id=<?=$commandeid?>">

<input type="hidden" name="cancel_return" value="<?=$wwwroot?>/modules/paypal/nok.php?id=<?=$commandeid?>">

<input type="hidden" name="no_note" value="1">

<input type="hidden" name="currency_code" value="EUR">

<input type="hidden" name="lc" value="FR">

<input TYPE="hidden" NAME="email" VALUE="<?=$com->email?>">

<input type="image" src="https://www.paypal.com/fr_FR/i/btn/x-click-but23.gif" border="0" name="submit" alt="Effectuez vos paiements via PayPal : une solution rapide, gratuite et sécurisée !">

</form>

<br>

<img src="<?=$wwwroot?>/images/logo-xclickBox.gif" width="152" height="29" alt="" border="0">

</div>

<?

break;

}

?>

<table class=normal width="100%" border="0" cellspacing="0" cellpadding="4" bgcolor="#ffffcc">

<tr><td class="label"><?echo ORDER_RESUME ?> :</td></tr>

<tr>

<td class="label"><?echo EMAIL ?> :</td>

<td class="normal"><?=$com->email?></td>

</tr>

<tr>

<td class="label"><?echo REFERENCE ?> :</td>

<td class="normal"><?=$commandeid?></td>

</tr>

<tr>

<td class="label"><?echo ORDER_AMOUNT ?> :</td>

<td class="normal"><?=fprix($com->montant)?> &euro;</td>

</tr>

<tr>

<td class="label"><?echo ORDER_DATE ?> :</td>

<td class="normal"><?=return_date_fr($com->o_timestamp)?></td>

</tr>

<tr>

<td class="label"><?echo PAYEMENT ?> :</td>

<td class="normal"><?=$com->paiement?></td>

</tr>

<tr>

<td class="label"><?echo PROFORMA ?> :</td>

<td class="normal"><a href="java script:OpenWin2('<?=$wwwroot?>/factures/facture_html.php?mode=proforma&id=<?=$commandeid?>&timestamp=<?=urlencode($com->o_timestamp)?>',550,450,'bdc');" class="normal">

<?echo PRINT_PROFORMA?></a>.</td>

</tr>

</table>

<?php } ?>

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Pas sûr car dans ma versin (2.9), la fonction d'envoi de mail de la page fonciton.php n'est pas forcément appelée, et l'envoi des mails est le plus souvent géré directement dans la page fin_commande.php.

Je pense qu'il faut donc vérifier dans cette page.

Tu dois trouver des blocs :

CASE CHECK

CASE TRANSFER

CASE CB

CASE PAYPAL

Il faut voir ce qui se trouve dans ces blocs te voir si l'envoi des mails n'y est pas directement géré.

Bonjour Merci de votre à vous tous.

J'ai bien CASE CB mais pas les autres dans le fichier fin_commande.php

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Alors je parie que l'envoi du mail est dans le CASE CB mais pas ailleurs... ce qui expliquerait pourquoi ton client ne reçoit le mail que dans ce cas là.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Alors je parie que l'envoi du mail est dans le CASE CB mais pas ailleurs... ce qui expliquerait pourquoi ton client ne reçoit le mail que dans ce cas là.

bonjour,

Oui en effet, si vous avez une soluce pour cela je suis preneur.

Cordialement,

Balam

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

bonjour,

Oui en effet, si vous avez une soluce pour cela je suis preneur.

Cordialement,

Balam

Est-ce ces fonctions qu'il faut placer dans la page fin_commande.php ?, si oui à quel endroit exactement ?

case "mandat" :

?>

- Imprimez le bon de commande.<br />

<br />

- Envoyez votre règlement à :<br />

<?php

print_societe();

break;

case "chèque" :

?>

- Imprimez le bon de commande.<br />

<br />

- Envoyez votre règlement à :<br />

<?php

print_societe();

break;

case "virement" :

print ("- Effectuez votre règlement sur le compte bancaire suivant :<br />");

print_rib();

break;

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

tu peux peut etre regarder ce post http://forum.peel.fr/index.php?s=&show...post&p=7436

Bonjour Paulanna,

Oui bien sûr, mais personne n'a donné une soluce dans ce cas ou un échange de ce fichier pour faire un comparatif avec une personne dont les mails sont bien reçus par les clients.

J'ai fait des tests et rien ne fonctionne et cela devient préjudiciable.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Balam: regarde plus haut (page 2 je crois) un forumeur a mis son code de fin_commande...

tu auras les lignes a ajouter.

Willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping