adapter un script mail avec une authentification smtp

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : adapter un script mail avec une authentification smtp

Re: adapter un script mail avec une authentification smtp

par lacfab » 07 oct. 2009, 09:19

Du coup c'est faisable ou pas d'authetifier simplement un email ?
Pourquoi la fonction mail ne peut pas le faire ? ça parait pourtant simple ... (malheureusement ce n'est pas toujours le cas)

Re: adapter un script mail avec une authentification smtp

par FuZZyLine » 19 sept. 2009, 15:01

Salut,

La library phpMailer permet ce genre de trucs, à toi de voir:

http://phpmailer.worxware.com/
http://sourceforge.net/projects/phpmail ... %20php5_6/

@+ ;)

Re: adapter un script mail avec une authentification smtp

par sylvaing26 » 19 sept. 2009, 13:35

hello tu sais comment installer le package mail PEAR ?
Merci d'avance
Aucune idée lol :lol:
Mais google dois expliquer ca !

Re: adapter un script mail avec une authentification smtp

par yberges » 19 sept. 2009, 13:29

hello tu sais comment installer le package mail PEAR ?
Merci d'avance

Re: adapter un script mail avec une authentification smtp

par sylvaing26 » 18 sept. 2009, 20:23

Un petit tour sur :google: avec les mots clés authentifier mail php me donne
http://dominique-colombani.fr/domblog/i ... MTP-et-PHP
La fonction mail() ne peut pas authentifier les mails

Re: adapter un script mail avec une authentification smtp

par yberges » 18 sept. 2009, 18:33

hello tu a essayer quoi ?

Re: adapter un script mail avec une authentification smtp

par lacfab » 18 sept. 2009, 16:44

J'ai également besoin d'une identification SMTP pour envoyer des mails du serveur de mon entreprise. En effet notre administrateur est obligé de bloquer tout car nous subissons de nombreuses attaques spam en cas contraire.
Je vais suivre ce post avec intérêt.

edit : j'ai testé et j'ai une erreur : Fatal error: Class 'Mail' not found in /Volumes/Graphik HD/www/graphik/admin/BO_identification.php on line 49 je poursuis mes recherches lundi ...

adapter un script mail avec une authentification smtp

par yberges » 18 sept. 2009, 13:54

salut a tous voila j'ai un script php qui envoie des mails en checkant si les personnes ont déjà eu le mail.
Mon probleme c'est que mon hebergeur me demande d'authentifié mes mails ...
mes connaissance php étant tres légère (je bidouille) j'aurais besoins d'aide pour réunifié 2 codes.

Code : Tout sélectionner

<?php // ************************ // // SCRIPT D'ENVOI DE L'email // // ************************ // // on appelle la m?thode post if (isset($_POST['check_mail']) && $_POST['check_mail'] != "") { echo "<div id='resultatsEnvoi'>"; // on avertit l'utilisateur echo "<p><strong>Le processus d'envoi de mail est en cours... </strong></p>"; // Puis du contenu du mail $objetnews = $row_Recordset1['titre']; $contenu = $row_Recordset1['contenu']; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; $headers .= "From: <Le BBB. Centre régional d'initiatives pour l'art contemporain> [email protected]" . "\r\n"; // ici le script de Jpierre envoyant la newsletter $i=0; while ($i < sizeof($_POST['check_mail']) ) { $cpt=0; while ( ($cpt<60) && ($i<sizeof($_POST['check_mail'])) ) { if (!mail($_POST['check_mail'][$i],$objetnews,$contenu,$headers)) { echo "<p><span style='color:red'>erreur d'envoi sur le mail : "; echo $_POST['check_mail'][$i]."</span></p>"; } else { echo "<p>mail envoyé à : "; echo $_POST['check_mail'][$i]."</p>"; $query_Update = "UPDATE subs SET SubEnvoye='1' WHERE SubEmail='".$_POST['check_mail'][$i]."'"; $update = mysql_query($query_Update) or die(mysql_error()); //mysql_query($query_Update, $bbb) //VERSION EN LIGNE } $cpt=$cpt+1; $i=$i+1; } if ($cpt>59) { sleep(30); echo "Nouveau paquet de 60 mails envoyé, temps d'attente de 30secondes"; } } echo "</div>"; } ?>
et de ce que j'ai pu lire je dois intéger ceci

Code : Tout sélectionner

<?php require_once "Mail.php"; $de = "Auteur <[email protected]>"; $a = "Relecteur <relecteur@ societe.com>"; $sujet = "Relecture"; $body = "Bonjour,\n\Pouvez vous relire mon article?"; $hote= "mail.societe.com"; $nom = "smtp_compte"; $mot = "smtp_mot"; $entete = array ('From' => $de, 'To' => $a, 'Subject' => $sujet); $smtp = Mail::factory('smtp', array ('host' => $hote, 'auth' => true, 'username' => $nom, 'password' => $mot)); $mail = $smtp->send($a, $entete, $texte); // suite du traitement ?>
suis je dans le bon ?
voici ou j'en suis
alors je continu a chercher

Code : Tout sélectionner

<?php require_once('config.inc.php'); // ************************ // // RECUPERATION DES VALEURS // // ************************ // mysql_select_db($database_bbb, $bbb); $liste = mysql_fetch_array(mysql_query("SELECT * FROM listesdiffusion WHERE idListe='".$_GET['idListe']."'")); $query_Recordset2 = "SELECT * FROM ".$liste['nomTableListe'].""; $Recordset2 = mysql_query($query_Recordset2, $bbb) or die(mysql_error()); $row_Recordset2 = mysql_fetch_assoc($Recordset2); $totalRows_Recordset2 = mysql_num_rows($Recordset2); $query_Recordset1 = "SELECT * FROM ifly WHERE idListe='".$_GET['idListe']."'"; $Recordset1 = mysql_query($query_Recordset1, $bbb) or die(mysql_error()); $row_Recordset1 = mysql_fetch_assoc($Recordset1); $totalRows_Recordset1 = mysql_num_rows($Recordset1); ?> <?php // ************************ // // SCRIPT D'ENVOI DE L'email // // ************************ // // on appelle la m?thode post if (isset($_POST['check_mail']) && $_POST['check_mail'] != "") { echo "<div id='resultatsEnvoi'>"; // on avertit l'utilisateur echo "<p><strong>Le processus d'envoi de mail est en cours... </strong></p>"; // Puis du contenu du mail require_once "Mail.php"; $de = "<Le BBB. Centre régional d'initiatives pour l'art contemporain> [email protected]" . "\r\n"; $objetnews = $row_Recordset1['titre']; $headers .= 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; $contenu = $row_Recordset1['contenu']; $hote= "mail.societe.com"; $nom = "smtp_compte"; $mot = "smtp_mot"; $entete = array ('From' => $de, 'To' => $a, 'Subject' => $objetnews); $smtp = Mail::factory('smtp', array ('host' => $hote, 'auth' => true, 'username' => $nom, 'password' => $mot)); $mail = $smtp->send($a, $entete, $texte, $headers); // suite du traitement $i=0; while ($i < sizeof($_POST['check_mail']) ) { $cpt=0; while ( ($cpt<60) && ($i<sizeof($_POST['check_mail'])) ) { if (!mail($_POST['check_mail'][$i],$objetnews,$contenu,$headers)) { echo "<p><span style='color:red'>erreur d'envoi sur le mail : "; echo $_POST['check_mail'][$i]."</span></p>"; } else { echo "<p>mail envoyé à : "; echo $_POST['check_mail'][$i]."</p>"; $query_Update = "UPDATE subs SET SubEnvoye='1' WHERE SubEmail='".$_POST['check_mail'][$i]."'"; $update = mysql_query($query_Update) or die(mysql_error()); //mysql_query($query_Update, $bbb) //VERSION EN LIGNE } $cpt=$cpt+1; $i=$i+1; } if ($cpt>59) { sleep(30); echo "Nouveau paquet de 60 mails envoyé, temps d'attente de 30secondes"; } } echo "</div>"; } ?>
si je pouvez avoir des avis
Merci

qqun peut il m'aider ?