adapter un script mail avec une authentification smtp

Petit nouveau ! | 8 Messages

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 ?

Eléphant du PHP | 164 Messages

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 ...

Petit nouveau ! | 8 Messages

18 sept. 2009, 18:33

hello tu a essayer quoi ?

Mammouth du PHP | 686 Messages

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

Petit nouveau ! | 8 Messages

19 sept. 2009, 13:29

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

Mammouth du PHP | 686 Messages

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 !

Eléphant du PHP | 369 Messages

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/

@+ ;)

Eléphant du PHP | 164 Messages

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)