Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : fonction mail() [ Divers / Débutant(e) ] (kaking)

mardi 8 avril 2008 à 08:36:43 | fonction mail()

kaking

bonjour tous le monde

alors voila mon probleme: je veux envoyer un mail a tous les membres de mon site (5 membres!) mais seul 3 recoivent le mail...et apres j'obtiens ceci:

Warning: mail() [function.mail]: Failed to connect to mailserver at "smtp.orange.fr" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\Program Files\EasyPHP 2.0b1\www\panierachat\exemplepanier\admin\newsletter.php on line 53

pour le quatrieme membre...pourquoi?  

je suis en localhost sur easyphp-en local donc-

merci

mardi 8 avril 2008 à 12:45:31 | Re : fonction mail()

AlexN

Salut,

Certains FAI limitent l'usage de la fonction mail, pour limiter les envois de spam. Si c'est ça, temporise le nombre d'envois (par groupe de 3 ou 1 toutes les 5 secondes...), ou prends un abonnement chez un hébergeur qui repondra à tes besoins.

mardi 8 avril 2008 à 14:15:40 | Re : fonction mail()

kaking

merci pour ta reponse car efectivement je pense que c 'est un probleme de ce genre

par contre je n'ai aucune idee de comment (avec quel code) je peux temporiser le nombres d'envois...tu saurais s'il te plais? toute aide m'est VRAIMENT precieuse.


encore merci pour la piste

mardi 8 avril 2008 à 14:31:06 | Re : fonction mail()

lowkey

Salut !

Je vois que tu travail en local. Verifie que tu n'ai pas un firewall qui te bloque le port 25 car pour moi ça marche très bien.

J'utilise la classe phpmailer, et ça marche du tonnere

    $mail = new PHPmailer();
    $mail->IsSMTP();
    $mail->Host = "smtp.orange.fr";
    $mail->IsHTML(true);

Le port est bien le 25 et il n'y a pas de soucis. Meme pas besoin d'aller toucher au php.ini.



lowkey

mardi 8 avril 2008 à 14:45:02 | Re : fonction mail()

kaking

dabord merci beaucoup pour ta reponse

ensuite heuuuuu...je comprends pas ou faut mettre ton code... dans php.ini? ou dans mon script?

parceque mon script est le suivant:

$requete = mysql_query("SELECT * FROM membre");
//Ensuite on envoie les messages

while ($resultat = mysql_fetch_array($requete))
{

$message = nl2br($message);
$titre = htmlentities($titre);

$entete = "MIME-Version: 1.0\r\n";
$entete .= "Content-type: text/html; charset=iso-8859-1\r\n";
$entete .= "From: <$email_admin>\r\n";
$entete .= "Reply-To: $email_admin\r\n";
$mail = $resultat['mail'];
mail($mail,$titre,$message,$entete);
echo 'Envoyé à ' . $mail . '<br>';


}


alors ou c est qu'il faut que je rajoute ton code pour qu'il ne me bloque pas au bout de 3 envois s'il te plais?


merci

mardi 8 avril 2008 à 23:06:31 | Re : fonction mail()

yoman64

Membre Club
Salut,

Euh je vois pas trop le rapport avec le probléme dans ce que tu dis lowkey... Il arrive à envoyer des mails donc je vois pas le problème avec un quelconque firewall...

Si ça te le fais toujours après 3 messages et que les trois premiers se rendent bien, alors je suis d'avis qu'AlexN a raison, c'est ton FAI qui limite. Peut être que de mettre un temps de pause entre chaque envoi reglèrait le problème.

Informe toi sur la fonction sleep : http://ca3.php.net/manual/en/function.sleep.php

Et avec set_time_limit (parce que un délais de 5 secondes entre chaque envois va rapidement te faire dépasser ton max exec time)
[ Lien ]

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  

mardi 8 avril 2008 à 23:12:12 | Re : fonction mail()

yoman64

Membre Club
Pour faire un sleep à chaque 3 envois tu peux ajouter:

(int) $nbr = 0; avant ton while
et
$nbr++;
if (($nbr%3)>0) sleep(5);

Ou une autre façon:

(int) $nbr = 0; avant ton while
et
$nbr++
if ($nbr === 3) {$nbr = 0; sleep(5);}

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  

mardi 8 avril 2008 à 23:37:04 | Re : fonction mail()

lowkey

Oups, désolé, je n'avais pas compris la phrase dans ce sens là... désolé du dérangement.


lowkey

mercredi 9 avril 2008 à 08:10:40 | Re : fonction mail()

kaking

MERCIIIIII


ca fonctionne!!!! merci bôôôôôôôcoup!

si j'ai bien compris, tous les 3 mails, il y a une pause de 5 secondes?

j'ai remplacé le 5 par 1 mais si mon site abrite des centaines de personnes, cela fonctionnera quand meme? rien ne bloquera?

merci

mercredi 9 avril 2008 à 22:15:19 | Re : fonction mail()

yoman64

Membre Club
Salut,

En fait ça dépend de ton max_execution time, il est le plus souvent de 30 secondes(donc à 30 secondes si tu as des centaines de personnes alors oui ça risque de bloquer).

Ça dépend de l'hébergeur tu peux essayé une fonction tel quel set_time_limit pour éviter que ton script soit coupé avant la fin. Si ton hébergeur refuse cette fonction, alors cherche sur ce site il y a quelques astuces pour executer un script au dela de son temps maximal permis :).


-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  


1 2

Cette discussion est classé dans : mail, fonction, smtp, to, membres


Répondre à ce message

Sujets en rapport avec ce message

besoin d'aide svp fonction mail() [ par yomm ] voila, je doit envoyer des mails, pour cela j'utilise la fonction mail.j'utilise le serveur smtp de ifrance , ayant moi meme une adresse chez eux, le Fonction de mail dans BDD [ par zeuking ] Bonjour,imaginon, j'ai 1 BDD avec 89 tables dedans.1 table correspond a 1 membres ... Comment faire pour que chaque membres de la BDD puisse envoyer u Envoi de MAIL gros probleme [ par boopette ] Bonjourjai un gros probleme je narrive pas a envoyer de mailsjai utilise la fonction MAIL() de PHP et des fonction de mail en SMTPjai des erreurs:fonc Serveur SMTP entièrement compatible avec la fonction mail() [ par vsss ] BonsoirJe cherche un serveur smtp, qui me permet d'envoyer des mail a partir de la fonction mail() en utilisant n'importe quel variable.Merci php.ini [ par henri12 ] salut je viens d'envoyer un email avec easyephp je trouve pas de fichier php.ini j ai trouver phpsafe.ini dans le repertoire de easyphp es celui la Fonction mail(), mailto et smtp: kzk et lequel choisir? [ par steve2206 ] Salut à tous,N'étant pas un maître du php, j'aimerai bien qu'on me conseille un petit peu...1/ Quelqu'un pourrait-il m'expliquer la différence entre l fonction mail() [ par LaTatadu91 ] Bonjour,je travaille en local avec wamp et je voudrais tester une fonction de mailet voici l'erreur retournéWarning: mail(): Failed to connect to mail Fonction mail() php, erreur smtp .. mais pourtant ... [ par lilhouh ] Bonjour, Débutante en php, je souhaite faire un bête formulaire de contact.Je travaille en local. J'utilise EasyPhp.Mon pbm : cette erreur qui revient probleme d'envoie d'email [ par idrisidev ] Bonjourjai un gros probleme je narrive pas a envoyer de mailsjai utilise la fonction MAIL() de PHP et des fonction de mail en SMTPjai des erreurs:fonc fonction mail [ par buster20 ] j'ai un gros probleme j'ai deja chang SMTP dans php.ini mais j'ai toujours ce message Warning: mail(): Failed to connect to mailserver at "localhost"


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,359 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.