fonction mail() qui bloque

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 : fonction mail() qui bloque

Re: fonction mail() qui bloque

par AB » 24 mars 2010, 01:39

Ouais, en même temps peut-on parler d'un gros volume pour un max de 100 mails ? Et puis pour si peu, même si la limite était atteinte on pourrait suggérer de scinder l'envoi en quelques blocs.

Je dis ça parce que même si c'est peu performant ça serait peut-être plus abordable pour jtitin que de se reporter "aux paquets PEAR::Mail et » PEAR::Mail_Queue" :-k

Enfin quoi qu'il en soit pour avancer un peu sur l'origine du pb, si une erreur est repérée elle doit bien être commentée donc comme disait @rthur "Si tu nous donnais le message d'erreur, ça pourrait aider..."

Re: fonction mail() qui bloque

par Dr@ke » 24 mars 2010, 01:30

Ou en faisant sa propre fonction mail, ou sa propre class mail en utilisant le protocol SMTP.

Exemple:
http://methylbro.titaxium.org/post/2009 ... i-en-masse

Sinon tu devrais regarder ici:
http://php.net/manual/fr/function.mail.php
Regarde les exemples du manuel puis regarde les commentaires.

Et ensuite au lieu d'envoyer le mail, tu fais un echo de chaque variables et tu compares avec la bonne syntaxe conseillée sur la page plus haut... :wink:
(en enlevant la boucle pour le test)

PS:
Sinon à ce que j'ai compris envoyer un nombre important de mails avec la fonction mail() et sans utiliser cron, cela risque d'être problématique...

Re: fonction mail() qui bloque

par stealth35 » 24 mars 2010, 01:08

et aussi dixit la doc :
Note: Il est important de noter que la fonction mail() n'est pas conseillée pour traiter de gros volumes de mails dans une boucle. Cette fonction ouvre et ferme un socket SMTP pour chaque mail, ce qui n'est pas très efficace.
Pour envoyer de gros volumes de mails, reportez-vous aux paquets » PEAR::Mail et » PEAR::Mail_Queue.

Re: fonction mail() qui bloque

par @rthur » 23 mars 2010, 23:35

Bonjour,
je suis héberger chez Free et lors de l'exécution du sript une erreur arrive à la ligne:
mail($result['email'], $sujet, $message, $header);
Si tu nous donnais le message d'erreur, ça pourrait aider... ;)

Et sinon concernant les limitations d'envoi d'e-mail chez Free, tout est expliqué ici : http://www.free.fr/assistance/946-acces ... -mail.html

fonction mail() qui bloque

par jtitin » 23 mars 2010, 12:03

Bonjour
je souhaite utiliser ce sript pour envoyer un mail à chaque adresse de ma base de données (une 100 maxi) et cela 1 fois tous les 2 mois.
je suis héberger chez Free et lors de l'exécution du sript une erreur arrive à la ligne:
mail($result['email'], $sujet, $message, $header);
je ne sais pas si c'est Free qui bloque la fonction mail pour l'envoi à plusieurs destinataires
si c'est le cas y a t'il un moyen de contourer cela ou de corriger ce script
merci pour votre aide

<?php

mysql_connect("serveur","login","pass") or die('Connexion impossible');
mysql_select_db("mabase") or die('Connexion impossible');

$sujet = "Sortie foot";

$message = "Salut à tous, vous voulez venir jouer au foot ?";

$auteur_nom = "c'est moi";

$auteur_adr = "[email protected]";

$header = "From: \"".$auteur_nom."\"<".$auteur_adr.">\n";

$sql = "SELECT email FROM amis";

$requete = mysql_query($sql) or die("Erreur");

// on parcourt le tableau associatif contenant les adresses e-mail
while ( $result = mysql_fetch_assoc($requete) ) {

// on envoie le mail à chaque adresse
mail($result['email'], $sujet, $message, $header);

}
?>