[php] conection smtp chez free ?

débPHP -  
SangokuSSJ4 Messages postés 443 Date d'inscription   Statut Membre Dernière intervention   -
bonjour,

j'ai un site chez free, & je veux envoyer des new's letter à mes abonnés, mais la limitte de 1000 mails est ch*** :-b
comme il parrait qu'il y a des fonctions remplacant mail(),
j'ai chercher, ...
j'ai trouver bcp de classe, ... qui facilité l'utilisation de la fonction mail & (pr l'instant) j'en ai trouvé 2 qui la remplasse :-))))))

ms je les ai tester à 2, sur free & elle marche pas :-((((
pouvez vous m'aider un peu ??? ( les fonctions je les aient trouvées sur nexen)

la premiére :
function send_mail2($sFrom , $sTo , $sSubject , $sMessage){ 
 $sSendMail = "/usr/sbin/sendmail"; 
  
  $pFile = popen($sSendMail." -t -oi", "w"); 
  fwrite($pFile, "To: $sTo\nFrom: $sFrom\nSubject: $sSubject\n\n$sMessage"); 
  pclose($pFile); 
  
  return $pFile; 
}


& il me met :
Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/free.fr/7/5/blbg/1.php on line 7


& la 2eme :
function mailto($from , $to , $reply , $subject , $msg){ 
 function mailto($from, $to, $reply, $subject, $msg) 
 { 
 echo "Envoi d'un mail à $to<br>"; 
 $headers = "MIME-Version: 1.0\r\n"; 
 $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n"; 
 $headers .= "Reply-To: $reply\r\n"; 
 $headers .= "X-Mailer: PHP SCRIPT"; 
  
 $connection = fsockopen ("localhost", 25, &$errno, &$errstr, 1); 
  
 if (!$connection) { 
 echo "$errstr ($errno)<br>\n"; 
 } else { 
 $res1=fgets($connection, 256); 
 if(substr($res1, 0, 3) != "220") echo "error : $res1<br>"; 
  
 fputs($connection, "HELO localhost\n"); 
 $res2=fgets($connection, 256); 
 if(substr($res2, 0, 3) != "250") echo "error : $res2<br>"; 
  
 fputs($connection, "MAIL FROM: $from\n"); 
 $res3=fgets($connection, 256); 
 if(substr($res3, 0, 3) != "250") echo "error : $res3<br>"; 
  
 fputs($connection, "RCPT TO: $to\n"); 
 $res4=fgets($connection, 256); 
 if(substr($res4, 0, 3) != "250") echo "error : $res4<br>"; 
  
 fputs($connection, "DATA\n"); 
 $res5=fgets($connection, 256); 
 if(substr($res5, 0, 3) != "354") echo "error : $res5<br>"; 
  
 fputs($connection, "TO: $to\nFrom: $reply\nSubject:
$subject\n$headers\n\n$msg\n.\n"); 
 $res6=fgets($connection, 256); 
 if(substr($res6, 0, 3) != "250") echo "error : $res6<br>"; 
  
 fputs($connection, "QUIT\n"); 
 $res7=fgets($connection, 256); 
 if(substr($res7, 0, 3) != "221") echo "error : $res7<br>"; 
  
 fclose ($connection);} 
 if(substr($res1, 0, 3) == "220" && substr($res2, 0, 3) == "250" && substr($res3,
0, 3) == "250" && substr($res4, 0, 3) == "250" && substr($res5, 0, 3) == "354" &&
substr($res6, 0, 3) == "250" && substr($res7, 0, 3) == "221") echo "mesage envoyé
corectement<hr>"; 
 //echo
$res1."<br>".$res2."<br>".$res3."<br>".$res4."<br>".$res5."<br>".$res6."<br>".$res7; 
 } 
  
}


bon déjà il met une erreur car la fonction est définie 2fois, dc je suppr une déclaration
& aprés il met :
Envoi d'un mail à destinataire@free.fr

Warning: Can't open socket ! in /var/www/free.fr/7/5/blbg/2.php on line 12
()


j'ai remplacer le :
 $connection = fsockopen("localhost", 25, &$errno, &$errstr, 1);
par :
 $connection = fsockopen("smtp.free.fr", 25, &$errno, &$errstr, 1);

mais ça me fait la même erreur ...

& idem si je remplace localhost par le server smtp de free dans :
 fputs($connection, "HELO localhost\n"); 


dc si qqu'un voit une erreur & surtout une solution .. :-D
merci ...
A voir également:

3 réponses

SangokuSSJ4 Messages postés 443 Date d'inscription   Statut Membre Dernière intervention   47
 
tu peux utiliser la fonction email() au lieu de mail(). Normalement elle marche sur free.

l'utilisation est la même, mais l'ordre des paramètres est différent. regarde sur la doc php.
1
JCLB
 
Free n'autorise pas pour l'instant l'utilisation de la fonction fsockopen
0
Fallentree Messages postés 2309 Date d'inscription   Statut Membre Dernière intervention   209
 
0
SangokuSSJ4 Messages postés 443 Date d'inscription   Statut Membre Dernière intervention   47
 
Ca ne change rien, l'article parle du principe du SMTP, c'est à dire pour envoyer des mails depuis ton client de messagerie, genre outlook par exemple.
0