la function mail dans PHP - réglage SMTP - PHP - Programmation
Marsh Posté le 03-09-2006 à 19:26:28
Citation : |
Pour répondre à ces deux questions ne une seule réponse: marre du spam!
Voilà, ce qui veut dire en clair que:
1- tu doit installer un serveur SMTP toi-même
2- tu doit veiller à ce que ton serveur SMTP ne soit pas black-listé, soit: pas d'adresse IP en location, pas de nom de domaine déjà black-listé, et le respect des normes de sécurité (notamment ton serveur ne doit pas faire relai) et de la nettiquette.
Marsh Posté le 03-09-2006 à 19:51:49
Citation : |
ta réponse me laisse perplexe...
1°Tu fais référence au spam pour expliquer la nécessité de s'identifier au serveur SMTP des yahoo&co? Ils sont donc définitivement inutilisables dans le cadre d'une newsletter ? il n'y a aucun moyen de rentrer des informations d'identification correspondant à un compte classique , au moins comme solution temporaire ?
2°Par ailleurs si je comprends bien cela signifie que dés que tu veux mettre au point une newsletter tu dois installer en plus de php et de mysl et un serveur SMTP? je commence à trouver que ça fait beaucoup , surtout lorsqu'on voit le nombre de sites amateurs qui en incluent en plus d'un fil rss....
3°Par ailleurs si c'était indispensable alors je ne comprends pas que des solutions tout en 1 du type EASY php qui incluent Apache , PHP, MySQL , PHPadministrator n'inclue pas de serveur SMTP : concrétement quel est le premier besoin d'un débutant (puisque c'est la cible reconnue d'easyPHP) s'intéressant à une solution PHP+MySQL sinon une newsletter (les forums , livres d'or,. viennent aprés)?
4°Enfin quelle est la solution SMTP conseillé aux débutants ? est ce qu'un logiciel comme Hamster dont je me sers habituellement pour récuperer les news sur Usenet peut convenir ?
Marsh Posté le 03-09-2006 à 20:06:49
1° oui; oui; non
2° oui
3° parceque ces solutions sont généralement installés chez les particuliers, donc adresse IP en rotation et bannie
4° google
Marsh Posté le 03-09-2006 à 20:11:28
Solution plus simple à ton problème pour une petite newsletter: utilise le champs BCC pour envoyer des copies du mails à plusieurs personnes, et le champs TO pour te l'envoyer à toi-même. Avec un logiciel ou un compte mail classique.
Marsh Posté le 03-09-2006 à 20:14:55
ghinzdra> Tu dis "pour le moment j'effectue mes tests en local"... donc je suppose que tu vas le faire heberger. Et tout hebergeur qui se respecte permet d'envoyer des mails
Marsh Posté le 03-09-2006 à 20:37:13
Dj YeLL a écrit : ghinzdra> Tu dis "pour le moment j'effectue mes tests en local"... donc je suppose que tu vas le faire heberger. Et tout hebergeur qui se respecte permet d'envoyer des mails |
-nargy
le mail en duplicata ? j'y ai bien songé... mais pour des questions de prestige mon association refuse une telle solution . Par ailleurs un telle solution ça va bien un moment .... Comme tu l'as dit c'est pour une petite newsletter et on vise environ 900 personnes à terme .
-dj yell
le problème c'est qu'il s'agit d'une association universitaire et que notre hébergement il s'effectue sur le serveur de l'université . Bon le PHP c'est OK , MySQL je suis en train de négocier une base de donnée mais un serveur SMTP c'est pas forcement gagné....
Justement au niveau local , j'ai activé Hamster (j'espère que vous connaissez avant d'envoyer la newsletter) cette fois ci les warning relatif au défaut de mailserver ou au problème d'identification,ect... ont disparu ,juste une page blanche !Ce qui tendrait à dire que ça marche mais en vérifiant le contenu des boites mails en question rien dedans....
Ca peut bloquer où cette fois ? les mails sont pourtant bien inscrits dans la base MYSQL...
et surtout comment obtenir au moins un message d'erreur pour savoir où ça cloche?
Marsh Posté le 03-09-2006 à 20:56:38
Marsh Posté le 03-09-2006 à 17:23:50
Bonjour
J'essaye d'implanter une newsletter pour le compte de mon association . Pour l'instant j'effectue mes test en local avec EasyPHP. La partie inscription dans la base MySQL fonctionne (j'ai inscrit 2 emails dedans) . En revanche la partie envoi échoue à cause d'un problème de serveur SMTP semble il. Le mécanisme est fait de 2 pages , une page html pour la rédaction de la newsletter et la page php pour l'envoi de la newsletter .
Au départ sans changement dans le fichier php.ini la ligne SMTP avait la valeur suivante : localhost
A ce moment le navigateur imprimait " Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in c:\www\newsletter\mail.php3 on line 48"
J'ai changé la valeur en utilisant le serveur smtp de wanadoo puis laposte.
pour wanadoo lorsque j'execute la newsletter le message suivant est imprimé dans le navigateur: Warning: mail(): SMTP server response: 554 <ghinzdra@hotmail.com>: Relay access denied in c:\www\newsletter\mail.php3 on line 48
pour la poste le résultat est le suivant.
Warning: mail(): SMTP server response: 530 authentication required for mail submission in c:\www\newsletter\mail.php3 on line 48
Bon je veux bien que que ne disposant de serveur SMTP en local je sois incapable d'envoyer un email. Mais comment faire alors ? visiblement les serveurs SMTP des fournisseurs demandent les mêmes infos d'identification que dans le cadre d'un logiciel de messagerie comme thunderbird ou outlook.
D'où deux question : 1 Quelle est la solution pour le local ?
2 lorsque je voudrais implanter le tout sur le serveur distant quels réglages devrais je effectuer
Merci d'avance
accessoirement je mets le code de la page html et de la page d'envoi bien que je ne pense pas que le problème soit là .
1ère page : page d'envoi envoi.htm
<html>
</body>
<form method="post" action="mail.php3">
<table width="445" align="center" border="1" cellspacing="0"
bordercolor="navy" bordercolordark="navy" bordercolorlight="navy">
<tr><td width="130" align="right">
<p><font size="2" color="navy"><b>Sujet</b></font><font size="2">
<b> : </b></font></p>
</td><td width="311" align="left">
<p><font size="2"><input type="text" name="sujet" size="44">
</font></p>
</td></tr><tr><td width="130" align="right" valign="top" rowspan="2">
<p><font size="2" color="navy"><b>Message</b></font><font
size="2"><b>e : </b></font></p>
</td><td width="311">
<p><font size="2"><textarea name="message" rows="18"
cols="42"></textarea></font></p>
</td> </tr><tr><td width="311" align="left">
<p><font size="2"><input type="submit" value="Envoyer la newsletter">
<input type="reset" value="Réinitialiser"></font></p>
</td></tr></table>
</form>
</body>
</html>
2ème page : page de mailing
<html>
<head>
<title>Mailer</title>
</head>
<body>
<?
// le code qui nous permettra d'envoyer la lettre
$headers="from:wanadoo.fr";
// Connection à la base de donnée( par défaut paramètre local)
$server="localhost";
$user="root";
$pass="mineraux";
$db="prim";
mysql_connect($server, $user, $pass) or die('Erreur de connexion');
mysql_select_db($db) or die('Base inexistante');
// on selectionne tous les emails de la base de donnée
$req=mysql_query("SELECT email FROM lettre" );
// on compte le nombre d'emails
$res=mysql_numrows($req);
// On envoi la lettre d'info a tous les emails
// Utilisation d'une boucle while pour récupérer tous les mails
// et envoi avec la fonction mail( ) placer dans la boucle...
$i=0;
while($i!=$res) {
$email=mysql_result($req,$i,"email" );
// Les variables sujet et message sont récupérés via le formulaire
// d'envoi
$sujet=$_POST["sujet"];
$message=$_POST["message"];
mail($email,$sujet,$message,$headers);
$i++;
}
// On ferme la connection
mysql_close();
?>
</body>
</html>
Merci encore