ubik Posted August 24, 2012 Share Posted August 24, 2012 Bonjour, j'ai un petit soucis. Mon hebergeur a modifier le serveur et son environnement pour supprimer la fonction mail() et remplacer l'envoi des email via SMTP Corrections faites sur prestashop, le process de commandes fonction et passe desormais via smtp (j'ai changé la config) Le problème c'est que j'avais des modules custom a savoir un module custom contact form et un module click we call y ou back Ces modules ne prenaient pas en compte la config smtp de prestashop, donc continuent a passer par mail() et du coup plus d'emails. Comment je peux intégré les parametre smtp sur ces modules Exemple simple $destinataire = $mail[0]['value']; $sujet = $title[0]['value']; $entete = "From: [email protected]" ; $entete .= "Content-Type: text/plain; charset='iso-8859-1'\n"; $message = ' Une personne a demandé à être rappelée depuis votre boutique. Voici ses coordonnées : Nom : '.$name.' Téléphone : '.$phone.' Heure souhaitée : '.$hour.' --------------- Ceci est un mail automatique, Merci de ne pas y répondre.'; mail($destinataire, $sujet, $message, $entete) ; Je ne peux pas faire un appel a /classes/Mail.php et modifier simplement ce script ? j'ai essayé pas mal de méthode pour l'heure ca ne fonctionne pas Merci pour votre aide Link to comment Share on other sites More sharing options...
Hedrad Posted August 24, 2012 Share Posted August 24, 2012 En utilisant la fonction Mail::Send(...) , ca ne fonctionne pas ? Link to comment Share on other sites More sharing options...
ubik Posted August 24, 2012 Author Share Posted August 24, 2012 Il faut que je fasse au préalable un include_once('/classes/Mail.php') ? Link to comment Share on other sites More sharing options...
ubik Posted August 24, 2012 Author Share Posted August 24, 2012 include_once('/classes/Mail.php'); $destinataire = "[email protected]"; $sujet = $title[0]['value']; $entete = "From: [email protected]" ; $entete .= "Content-Type: text/plain; charset='iso-8859-1'\n"; $headers["From"] = "[email protected]"; $headers["To"] = "[email protected]"; $headers["Subject"] = "Test message"; $message = ' Une personne a demandé à être rappelée depuis votre boutique. Voici ses coordonnées : Nom : '.$name.' Téléphone : '.$phone.' Heure souhaitée : '.$hour.' --------------- Ceci est un mail automatique, Merci de ne pas y répondre.'; Mail::Send($destinataire, $headers, $message); } ne marche pas Link to comment Share on other sites More sharing options...
ubik Posted August 24, 2012 Author Share Posted August 24, 2012 (edited) $subject = 'Bonjour'; $donnees = array('{nom}' => 'Jobs' , '{prenom}' => 'Steve' ); $destinataire = '[email protected]'; Mail::Send(intval($cookie->id_lang), 'password', $sujet , $donnees, $destinataire, "prenom nom", '[email protected]', 'nom', NULL,true, 'http://www.domain.com/mails/fr/'); Ne marche pas non plus il faut que je fasse un include dans mon module ? (mail ou config?) Edited August 24, 2012 by ubik (see edit history) Link to comment Share on other sites More sharing options...
ubik Posted August 24, 2012 Author Share Posted August 24, 2012 include dirname(__FILE__).'/../../classes/Db.php'; if (isset($_POST['insert'])) { $exist = Db::getInstance()->ExecuteS(' SELECT COUNT(*) as count FROM '._DB_PREFIX_.'callback WHERE (phone = "'.$_POST['phone'].'" AND statut = 0)'); if ($exist[0]['count'] == 0) { $mail = Db::getInstance()->ExecuteS(' SELECT value FROM '._DB_PREFIX_.'configuration WHERE name = "ebuildycallback_mail"'); $title = Db::getInstance()->ExecuteS(' SELECT value FROM '._DB_PREFIX_.'configuration WHERE name = "ebuildycallback_title"'); $name = strlen($_POST['name']) > 0 ? $_POST['name'] : 'Non précisé'; $phone = $_POST['phone']; $hour = 'Entre '.$_POST['hour_start'].' et '.$_POST['hour_end']; if (strlen($_POST['hour_start']) == 0 && strlen($_POST['hour_end']) == 0) { $hour = 'Non précisé'; } Db::getInstance()->autoExecute( _DB_PREFIX_.'callback', array('statut' => 0, 'name' => $name, 'phone' => $phone, 'hour' => $hour), 'INSERT'); // Modifier ici le texte de confirmation ( Veillez à laisser le '1|' avant) echo '1|Nous vous remercions, nous vous contacterons sous peu.'; $destinataire2 = $mail[0]['value']; $sujet2 = $title[0]['value']; $entete = "From: [email protected]" ; $entete .= "Content-Type: text/plain; charset='iso-8859-1'\n"; $message = ' Une personne a demandé à être rappelée depuis votre boutique. Voici ses coordonnées : Nom : '.$name.' Téléphone : '.$phone.' Heure souhaitée : '.$hour.' --------------- Ceci est un mail automatique, Merci de ne pas y répondre.'; mail($destinataire2, $sujet2, $message, $entete) ; } else { // Modifier ici le texte de téléphone déjà présent ( Veillez à laisser le '0|' avant) echo '0|Votre numéro est déjà enregistré, nous vous contacterons sous peu.'; } } if (isset($_POST['update'])) { $id_call = $_POST['id']; Db::getInstance()->autoExecute( _DB_PREFIX_.'callback', array('statut'=>1), 'UPDATE', "id_call = '{$id_call}'"); echo '<a onclick="updateCall(\'delete\', '.$id_call.');" class="button-call"><font color="#BB4433">Supprimer</font></a>'; } if (isset($_POST['delete'])) { $id_call = $_POST['id']; Db::getInstance()->delete(_DB_PREFIX_.'callback', "id_call = '{$id_call}'"); echo '1'; } ?> Mail::Send ne marche pas dans cette page, j'ai l'impression que c'est parceque cela doit etre construit sous forme de classe nan, j'ai l'impression qu'il ne calcul pas les variable d'environnement Link to comment Share on other sites More sharing options...
SiteProjet Posted August 24, 2012 Share Posted August 24, 2012 (edited) Bonjour. A tout hasard, ça donne quoi cet include ? require(dirname(__FILE__).'/config/config.inc.php'); Edited August 24, 2012 by SiteProjet (see edit history) Link to comment Share on other sites More sharing options...
ubik Posted September 11, 2012 Author Share Posted September 11, 2012 Ne marche pas je desespere Link to comment Share on other sites More sharing options...
ubik Posted September 11, 2012 Author Share Posted September 11, 2012 <?php include dirname(__FILE__).'/../../classes/Db.php'; include dirname(__FILE__).'/../../classes/Mail.php'; include dirname(__FILE__).'/../../config/config.inc.php'; if (isset($_POST['insert'])) { $exist = Db::getInstance()->ExecuteS(' SELECT COUNT(*) as count FROM '._DB_PREFIX_.'callback WHERE (phone = "'.$_POST['phone'].'" AND statut = 0)'); if ($exist[0]['count'] == 0) { $sujet = 'Demande de contact'; $donnees = 'aaa'; $destinataire = '[email protected]'; Mail::Send($sujet,$donnees,$destinataire); $mail = Db::getInstance()->ExecuteS(' SELECT value FROM '._DB_PREFIX_.'configuration WHERE name = "ebuildycallback_mail"'); $title = Db::getInstance()->ExecuteS(' SELECT value FROM '._DB_PREFIX_.'configuration WHERE name = "ebuildycallback_title"'); $name = $cookie; $phone = $_POST['phone']; $hour = 'Entre '.$_POST['hour_start'].' et '.$_POST['hour_end']; if (strlen($_POST['hour_start']) == 0 && strlen($_POST['hour_end']) == 0) { $hour = 'Non précisé'; } Db::getInstance()->autoExecute( _DB_PREFIX_.'callback', array('statut' => 0, 'name' => $name, 'phone' => $phone, 'hour' => $hour), 'INSERT'); // Modifier ici le texte de confirmation ( Veillez à laisser le '1|' avant) echo '1|Nous vous remercions, nous vous contacterons sous peu.'; } else { // Modifier ici le texte de téléphone déjà présent ( Veillez à laisser le '0|' avant) echo '0|Votre numéro est déjà enregistré, nous vous contacterons sous peu.'; } } if (isset($_POST['update'])) { $id_call = $_POST['id']; Db::getInstance()->autoExecute( _DB_PREFIX_.'callback', array('statut'=>1), 'UPDATE', "id_call = '{$id_call}'"); echo '<a onclick="updateCall(\'delete\', '.$id_call.');" class="button-call"><font color="#BB4433">Supprimer</font></a>'; } if (isset($_POST['delete'])) { $id_call = $_POST['id']; Db::getInstance()->delete(_DB_PREFIX_.'callback', "id_call = '{$id_call}'"); echo '1'; } ?> Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now