Autre solution que mail() php?

Fermé
fhav Messages postés 252 Date d'inscription mercredi 11 mars 2009 Statut Membre Dernière intervention 25 novembre 2009 - 13 mars 2009 à 13:38
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 - 13 mars 2009 à 15:01
Bonjour,

j'utilise la fonction mail($destinataire,$subject,$body,$headers) et ça me reoutrne une erreur , à mon avis l'hebergeur ne supporte pas cette fonction ...?

ya pas une autre fonction ou autre solution ?.


Merci
A voir également:

6 réponses

Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
13 mars 2009 à 13:40
si ton hébergeur t'autorise a utiliser les socket, tu peux coder le protocole smtp toi meme, et utiliser par exemple celui de gmail ...
0
fhav Messages postés 252 Date d'inscription mercredi 11 mars 2009 Statut Membre Dernière intervention 25 novembre 2009 5
13 mars 2009 à 13:45
bonjour, et merci pour la réponse, et justement ce qui est marqué sur l'erreur, vérification de SMTP ? et je ne sais pas comment je fais, je change le port ?

Merci
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
13 mars 2009 à 13:45
envoies la partie du code concerné, et le message d'erreur stp
le port smtpp est le 25, mais je croi pas que t'ai a te soucier de ca.
pour gmail: http://www.commentcamarche.net/faq/sujet 893 adresses des serveurs pop et smtp des principaux fai#gmail
0
fhav Messages postés 252 Date d'inscription mercredi 11 mars 2009 Statut Membre Dernière intervention 25 novembre 2009 5
13 mars 2009 à 13:54
l'erreur est : 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()
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
13 mars 2009 à 14:31
ok.
donc tu ne peux pas utiliser l'option mail car ton serveur en le supporte pas.
es ce que tu es familier avec l'utilisation des sockets ?

si oui:
https://fr.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol#Syntaxe_type_d.27une_session_SMTP

si non, c'est une magnifique occasion de t'y mettre ;)

j'ai fais il y a quelques semaines une petite classe, en c++ pour l'envoi de mail. J'ai pas encore codé l'envoi de fichiers joints, mais par contre les mails partent bien, et c'est vraiment simple. Ce qui est sur le site de wiki est la base (+ utilisation de sockets)


si tu utilises gmail comme smtp, ca devrait le faire... tiens moi au courrant.
si j'ai le temps, je verrai si j'arrive a faire quelques chose, mais ce ne sera pas tout de suite. si tu n'arrives pas a le faire seul, recontactes moi de temps en temps pour savoir ou ca en est
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fhav Messages postés 252 Date d'inscription mercredi 11 mars 2009 Statut Membre Dernière intervention 25 novembre 2009 5
13 mars 2009 à 14:43
merci, pour tous ces renseignements, je suis pas bien en réseau en gros, donc les sokets je connai pas, enfin bref je vais essayer de m'y mettre , mais pour l'instant je vais laisser à coté , et je vais passer à autre chose plus importante et plus urgente, merci je te contacterai bientot pour te dire si ça marche ;-) bye
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
13 mars 2009 à 14:47
tiens, en cherchant envoi mail php socket sur google, ce que l'on trouve:

http://www.commentcamarche.net/forum/affich 862792 php socket

donc le truc c'est de faire une ligne de requete, puis le fget ...

utilises pour tes test en local le smtp de ton fournisseur d'accès dans un premier temps.

ensuite, passes avec le smtp de google


en gros, je vais essayer de te le faire

<?php

$smtp="";
$port=25;
$from="president@whitehouse.gov";
$to="ton_mail";
$fp = fsockopen($smtp,$port, &$errno, &$errstr, 30);

if($fp)
{
	$request = "HELO Googleman\n\n";
	echo '<br/><br/>ask:' . $request;
	fputs($fp,$request);    
	echo '<br />'.fgets($fp,1024);   

	$request = 'MAIL FROM: <$from>\n\n';
	echo '<br/><br/>ask:' . $request;
	fputs($fp,$request);    
	echo '<br />'.fgets($fp,1024);   

	$request = 'RCPT TO: <$to>\n\n';
	echo '<br/><br/>ask:' . $request;
	fputs($fp,$request);    
	echo '<br />'.fgets($fp,1024);   

	$request = "DATA\n\n";
	echo '<br/><br/>ask:' . $request;
	fputs($fp,$request);    
	echo '<br />'.fgets($fp,1024);   

	$request = ".\n\n";
	echo '<br/><br/>ask:' . $request;
	fputs($fp,$request);    
	echo '<br />'.fgets($fp,1024);   

	$request = "quit\n\n";
	echo '<br/><br/>ask:' . $request;
	fputs($fp,$request);    
	echo '<br />'.fgets($fp,1024);   

	fclose($fp);
}
?>
essayes le tout de suite, changes les parametres smtp et $to, corriges les petites fautes (j'ai fait ca a l'arache) et dis moi si ca marche
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
13 mars 2009 à 15:01
je viens de faire pas mal de modifs... le meiux serait de faire un tableau de string contenant les requetes, et de faire une boucle for derriere... mais bon, ca réduira juste la taille du code
0