begin process at 2012 05 27 19:12:17
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

E-Mail / Messagerie

 > MAIL POUR LES SITES FREE.FR (MISE A JOUR LE 17MARS2004 10H24)

MAIL POUR LES SITES FREE.FR (MISE A JOUR LE 17MARS2004 10H24)


 Information sur la source

Note :
9,75 / 10 - par 4 personnes
9,75 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :E-Mail / Messagerie Niveau :Initié Date de création :27/01/2004 Date de mise à jour :17/03/2004 10:43:02 Vu :9 800

Auteur : mmaxuel

Ecrire un message privé
Site perso
Commentaire sur cette source (79)
Ajouter un commentaire et/ou une note

 Description

C'est la deuxiemme fonction mail que je fait pour les sites free.
en effet les freenautes, moi meme, n'ont ni le droit a la fonction mail ni le droit d'ouvrir une connexion sur le port 25 (smtp).

bon celui ci après plusieurs teste semble marcher correctement.

Si vous avez des questions n'hesité pas.

Source

  • <?
  • /*
  • Fonction mail v2.301
  • date de creation:
  • mardi 27 janvier 2004.
  • Mise à jour:
  • dimanche 17 mars 2004 09h52
  • Nouveau:
  • possibilité d'envoi d'une pièce jointe (voir plus bas pour son utilisation).
  • PS: Les mails contenant des fichiers trop gros, c'est à dire dépassement la limite tolerer en upload par
  • l'hebergeur seront envoyé en mail simple (sans pièce jointes);
  • mercredi 18 février 2004 15h11
  • Nouveau:
  • la fonction admet un nouveau parametre => l'expediteur
  • ce qui permet de changer d'adresse de l'expediteur a souhait...
  • remarque si vous le laisser vide "" c'est l'adresse du compte
  • qui sera prise en compte
  • mercredi 28 janvier 2004 23h28.
  • correction du bug signalé par Urukai1 (Impossible d'etablir la connexion avec pour http://imp3-q.free.fr&uniq=10753247119291075324711ooooo)
  • mercredu 28 janvier 2004 04h50.
  • code accelerer d'une etape.
  • vendredi 30 janvier 2003 21h43.
  • correction de la variable unique.
  • samedi 1 fevrier 2003 02h30.
  • prise en charge des opérations de maintenance.
  • Avantage:
  • Sans Limite.
  • Aucune pub.
  • Inconvenient:
  • Lent.
  • Lors de l'envoi de mail successif, certain peuvent sembler etre du courrier indesirables.
  • Coded by mmaxuel for ed2k.mmaxuel.free.fr
  • Completez les champs $compteFree et $passFree pour le rendre operationnel.
  • renvoie TRUE si le mail a bien ete renvoyer et FALSE si non...
  • exemple:
  • $res = MailH("moi@moi.fr,"toi@toi.fr","Bonjour","Rappelle moi s'il te plait.");
  • if($res)
  • echo "ok";
  • else
  • echo "ooooo";
  • exemple avec pièce jointes:
  • $res = MailH("moi@moi.fr,"toi@toi.fr","Bonjour","Rappelle moi s'il te plait.","fichier texte.zip");
  • if($res)
  • echo "ok";
  • else
  • echo "ooooo";
  • FONCTION mail POUR LES SITES FREE.FR
  • C'est la deuxiemme fonction mail que je fait pour les sites free.
  • en effet les freenautes, moi meme, n'ont ni le droit a la fonction mail ni le droit d'ouvrir une connexion sur le port 25 (smtp).
  • bon celui ci après plusieurs teste semble marcher correctement.
  • Si vous avez des questions n'hesité pas.
  • Voir ci dessous
  • */
  • function MailH($expediteur, $destinataire, $sujet, $message)
  • {
  • $sujet = urlencode($sujet);
  • $message = urlencode($message);
  • $compteFree = "";
  • $passFree = "";
  • $debug = false;
  • if($expediteur=="")
  • $expediteur = $compteFree. "@free.fr";
  • static $url_compose;
  • static $horde;
  • static $serveur;
  • static $action;
  • static $i;
  • if($i<=0)
  • $i=2;
  • ////////
  • if($url_compose=="" || $horde=="" || $serveur=="" || $action=="")
  • {
  • //Etape 1
  • //On recupere le horde sur la page d'accueil...
  • $response = SocketMail("http://imp.free.fr/","","","80");
  • preg_match_all("/<form action=\"([^\"]+)\" method/i", $response, $matches);
  • $action = $matches[1][0];
  • preg_match_all("/Horde=([^\"]+)\" method/i", $response, $matches);
  • $horde = $matches[1][0];
  • if($debug)
  • echo "<textarea rows=4 cols=100>1)\r\n". $horde. "\r\n". $action. "</textarea>";
  • ////////
  • //Etape 2
  • //Ensuite on s'identifie...
  • $argument = "actionID=105&mailbox=INBOX&imapuser=$compteFree&pass=$passFree&server=imap&folders=INBOX/&new_lang=fr_FR";
  • $response = SocketMail("http://imp.free.fr$action",$argument,"POST","80");
  • preg_match_all("/Location: ([^\n]+)\n/i", $response, $matches);
  • $action = $matches[1][0];
  • preg_match_all("/\/\/([^\/]+)\//i", $action, $matches);
  • $serveur = $matches[1][0];
  • preg_match_all("/$serveur(\/[^\r]+)\r/i", $response, $matches);
  • $action = $matches[1][0];
  • if(str_replace("reason=failed","",$action)!=$action)
  • {
  • echo "identifiant free incorrecte.<br>Modifier les parametres de la fonction Mail.";
  • }
  • if($debug)
  • echo "<textarea rows=4 cols=100>2)\r\n". $action. "\r\n". $serveur. "</textarea>";
  • if(str_replace("maintenance.php", "", $response) != $response)
  • {
  • //Etape 2.2
  • //on observe la page de maintenance...
  • $response = SocketMail("http://". $serveur. $action, "","GET","80");
  • preg_match_all("/<form method=\"post\" action=\"([^\"]+)\"/i", $response, $matches);
  • $action = $matches[1][0];
  • if($debug)
  • echo "<textarea rows=4 cols=100>2.2)\r\n". $action. "\r\n". $serveur. "</textarea>";
  • //Etape 2.3
  • //on effectue la maintenance...
  • $argument = "confirm_maintenance=1&Horde=$horde";
  • $response = SocketMail("http://". $serveur. $action, $argument,"POST","80");
  • preg_match_all("/Location: ([^\n]+)\n/i", $response, $matches);
  • $action = $matches[1][0];
  • preg_match_all("/\/\/([^\/]+)\//i", $action, $matches);
  • $serveur = $matches[1][0];
  • preg_match_all("/$serveur(\/[^\r]+)\r/i", $response, $matches);
  • $action = $matches[1][0];
  • if($debug)
  • echo "<textarea rows=4 cols=100>2.3)\r\n". $action. "\r\n". $serveur. "</textarea>";
  • }
  • ////////
  • //Etape 3
  • //On extrait de la page INBOX l'url qui permet de composer un e-mail
  • $response = SocketMail("http://$serveur$action","","GET","80");
  • preg_match_all("/var url = \"([^\"]+)\"/i", $response, $matches);
  • $url_compose = $matches[1][0];
  • if($debug)
  • echo "<textarea rows=4 cols=100>3)\r\n". htmlentities($url_compose). "</textarea>";
  • }
  • ///////
  • //Etape 4.0
  • //on poste la pièce jointe si necessaire...
  • if(func_num_args() > 4)
  • {
  • $tabArgs = func_get_args(0);
  • $fileToUpload = $tabArgs[4];
  • $response = uploadFile("http://$serveur". $url_compose, "sent_mail_folder=INBOX/sent-mail&thismailbox=INBOX&popup=1&reloaded=1&attachmentAction=add&actionID=122",$fileToUpload);
  • preg_match_all("/attachments_name\[\]\" value=\"([^\"]+)\"/i", $response, $matches);
  • $attachments_name = $matches[1][0];
  • preg_match_all("/attachments_size\[\]\" value=\"([^\"]+)\"/i", $response, $matches);
  • $attachments_size = $matches[1][0];
  • preg_match_all("/attachments_file\[\]\" value=\"([^\"]+)\"/i", $response, $matches);
  • $attachments_file = $matches[1][0];
  • preg_match_all("/attachments_type\[\]\" value=\"([^\"]+)\"/i", $response, $matches);
  • $attachments_type = $matches[1][0];
  • //$unique = $matches[1][0];
  • if($attachments_size != "")
  • $fileUploaded = true;
  • else
  • $fileUploaded = false;
  • if($debug)
  • echo "<textarea rows=4 cols=100>4.0)\r\n". htmlentities($attachments_name. "\r\n". $attachments_size. "\r\n". $attachments_file. "\r\n". $attachments_type). "</textarea>";
  • }
  • ///////
  • //Etape 4.1
  • //On poste le message...
  • if(substr($serveur,strlen($serveur)-1,strlen($serveur))!="/" && substr($url_compose,0,1)!="/")
  • $url_compose = "/". $url_compose;
  • if($url_compose=="")
  • $url_compose = "/horde/imp/compose.php?Horde=$horde";
  • $argument = "reloaded=1&actionID=114&last_identity=0&bcc=&from=$expediteur&to=$destinataire&subject=$sujet&save_sent_mail=&request_return_receipt=&message=$message";
  • //On oublie pas les variables des pièces jointes si nécessaire...
  • if(func_num_args() > 4 && $fileUploaded)
  • $argument .= "&attachments_name[]=" . $attachments_name. "&attachments_size[]=". $attachments_size. "&attachments_file[]=". $attachments_file. "&attachments_type[]=". $attachments_type;
  • $response = SocketMail("http://$serveur". $url_compose. "&uniq=". rand(100000000000000000000000000,999999999999999999999999999). date("B"). (mktime()-735*$i),$argument,"POST","80");
  • $i = $i+$i*$i;
  • if($debug)
  • echo "<textarea rows=4 cols=100>4.1)\r\n". htmlentities($response). "</textarea>";
  • //On vérifie tout est OK!
  • if(str_replace("window.close();","",$response)!=$response)
  • return TRUE;
  • else
  • return FALSE;
  • }
  • function uploadFile($destination, $parametre, $fichier)
  • {
  • $debug = false;
  • $response = "";
  • $boundary = "-----------------------------". rand(1000000000000000000,9999999999999999999);
  • if(is_File($fichier))
  • {
  • if(filesize($fichier) < 2097152) //Soit 1024 * 1024 * 2 = 2Mo
  • {
  • $hwnd = fopen($fichier,"r");
  • $contenu = fread($hwnd, filesize($fichier));
  • fclose($hwnd);
  • $argument = "--". $boundary. "\r\nContent-Disposition: form-data; name=\"msie_formdata_is_broken\"\r\n\r\n\r\n";
  • $tab = split("&",$parametre);
  • if($debug)
  • {
  • echo "Debut tableau split:<br>";
  • foreach($tab as $a => $b)
  • echo "\"$a\" = \"$b\"<br>";
  • }
  • $i = 0;
  • foreach($tab as $a => $b)
  • {
  • if($b != "")
  • {
  • $tab2 = split("=", $tab[$i], 2);
  • $argument .= "--". $boundary. "\r\nContent-Disposition: form-data; name=\"". $tab2[0]. "\"\r\n\r\n". $tab2[1]. "\r\n";
  • }
  • ++$i;
  • }
  • $argument = $argument. "--". $boundary . "\r\nContent-Disposition: form-data; name=\"file_upload\"; filename=\"". basename($fichier). "\"\r\nContent-Type: text/plain\r\n\r\n". $contenu. "\r\n--". $boundary. "--\r\n";
  • if($debug)
  • echo str_replace("\r\n","<br>",$argument);
  • $response = SocketMail($destination, $argument, "POST", "80", "Pragma: no-cache\r\nContent-Type: multipart/form-data; boundary=\"". $boundary. "\"");
  • }
  • else
  • $response = "";
  • }
  • else
  • echo "\"$fichier\" n'est pas un fichier valide";
  • return $response;
  • }
  • function SocketMail($adresse,$argument,$methode,$port,$contentType="")
  • {
  • preg_match_all("/\/\/([^\/]+)\//i",$adresse,$matches);
  • $serveur = $matches[1][0];
  • preg_match_all("/$serveur(\/[^\r]*)\r/i",$adresse. "\r",$matches);
  • $action = $matches[1][0];
  • if($port=="")
  • $port = 80;
  • if(strlen($argument)>0)
  • $methode = "POST";
  • elseif($methode=="")
  • $methode = "GET";
  • $debug = false;
  • $hwnd = fsockopen($serveur, $port, &$errno, &$errstr, 5);
  • if($hwnd)
  • {
  • $sheader = "$methode $adresse HTTP/1.0\r\n".
  • "Connection: Keep-Alive\r\n".
  • "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)\r\n".
  • "Host: $serveur\r\n";
  • if($contentType=="")
  • $sheader .= "Content-type: application/x-www-form-urlencoded \r\n";
  • else
  • $sheader .= $contentType. " \r\n";
  • if(strlen($argument)>0)
  • {
  • $sheader = $sheader.
  • "Content-length:". strlen($argument). "\r\n\r\n".
  • $argument. "\r\n";
  • }
  • $srequete = $sheader. "\r\n";
  • fputs($hwnd,$srequete);
  • if($debug)
  • echo str_replace("\r\n","<br>\r\n",$srequete). "<br>";
  • $response = "";
  • $a=1;
  • while(($res = fgets($hwnd,1024)) && ($a==1))
  • {
  • $response = $response. $res;
  • if($res=="0\r\n") $a=0;
  • }
  • fclose($hwnd);
  • return $response;
  • }
  • else
  • {
  • echo "Impossible d'etablir la connexion avec $serveur pour $adresse";
  • return FALSE;
  • }
  • }
  • ?>
<?
/*
Fonction mail v2.301

date de creation:
    mardi 27 janvier 2004.
    
Mise à jour:
    dimanche 17 mars 2004 09h52
    	Nouveau:
    	    possibilité d'envoi d'une pièce jointe (voir plus bas pour son utilisation).
    	PS: Les mails contenant des fichiers trop gros, c'est à dire dépassement la limite tolerer en upload par
    	    l'hebergeur seront envoyé en mail simple (sans pièce jointes);
    mercredi 18 février 2004 15h11
        Nouveau:
            la fonction admet un nouveau parametre => l'expediteur
            ce qui permet de changer d'adresse de l'expediteur a souhait...
            remarque si vous le laisser vide "" c'est l'adresse du compte 
            qui sera prise en compte
    mercredi 28 janvier 2004 23h28.
        correction du bug signalé par Urukai1 (Impossible d'etablir la connexion avec pour http://imp3-q.free.fr&uniq=10753247119291075324711ooooo)
    mercredu 28 janvier 2004 04h50.
        code accelerer d'une etape.
    vendredi 30 janvier 2003 21h43.
        correction de la variable unique.
    samedi 1 fevrier 2003 02h30.
        prise en charge des opérations de maintenance.
    
Avantage:
    Sans Limite.
    Aucune pub.
    
Inconvenient:
    Lent.
    Lors de l'envoi de mail successif, certain peuvent sembler etre du courrier indesirables.

Coded by mmaxuel for ed2k.mmaxuel.free.fr

Completez les champs $compteFree et $passFree pour le rendre operationnel.

renvoie TRUE si le mail a bien ete renvoyer et FALSE si non...
exemple:
    $res = MailH("moi@moi.fr,"toi@toi.fr","Bonjour","Rappelle moi s'il te plait.");
    
    if($res) 
        echo "ok";
    else 
        echo "ooooo";


exemple avec pièce jointes:
    $res = MailH("moi@moi.fr,"toi@toi.fr","Bonjour","Rappelle moi s'il te plait.","fichier texte.zip");
    
    if($res) 
        echo "ok";
    else 
        echo "ooooo";

FONCTION mail POUR LES SITES FREE.FR

C'est la deuxiemme fonction mail que je fait pour les sites free.
en effet les freenautes, moi meme, n'ont ni le droit a la fonction mail ni le droit d'ouvrir une connexion sur le port 25 (smtp).

bon celui ci après plusieurs teste semble marcher correctement.

Si vous avez des questions n'hesité pas.


Voir ci dessous
*/

function MailH($expediteur, $destinataire, $sujet, $message)
    {
    $sujet = urlencode($sujet);
    $message = urlencode($message);
    
    $compteFree = "";
    $passFree = "";
    
    $debug = false;
    
    if($expediteur=="")
        $expediteur = $compteFree. "@free.fr";
        
    static $url_compose;
    static $horde;
    static $serveur;
    static $action;
    static $i;
    if($i<=0)
        $i=2;
////////
    if($url_compose=="" || $horde=="" || $serveur=="" || $action=="")
    {
    //Etape 1 
        //On recupere le horde sur la page d'accueil...
    $response = SocketMail("http://imp.free.fr/","","","80");
    
    preg_match_all("/<form action=\"([^\"]+)\" method/i", $response, $matches);
        $action = $matches[1][0];
    preg_match_all("/Horde=([^\"]+)\" method/i", $response, $matches);
        $horde = $matches[1][0];
    
    if($debug)
        echo "<textarea rows=4 cols=100>1)\r\n". $horde. "\r\n". $action. "</textarea>";
////////
    //Etape 2
        //Ensuite on s'identifie...
    $argument = "actionID=105&mailbox=INBOX&imapuser=$compteFree&pass=$passFree&server=imap&folders=INBOX/&new_lang=fr_FR";
    $response = SocketMail("http://imp.free.fr$action",$argument,"POST","80");
    
    preg_match_all("/Location: ([^\n]+)\n/i", $response, $matches);
        $action = $matches[1][0];
    preg_match_all("/\/\/([^\/]+)\//i", $action, $matches);
        $serveur = $matches[1][0];
    preg_match_all("/$serveur(\/[^\r]+)\r/i", $response, $matches);
        $action = $matches[1][0];
    
    if(str_replace("reason=failed","",$action)!=$action)
        {
        echo "identifiant free incorrecte.<br>Modifier les parametres de la fonction Mail.";
        }
    if($debug)
        echo "<textarea rows=4 cols=100>2)\r\n". $action. "\r\n". $serveur. "</textarea>";
    if(str_replace("maintenance.php", "", $response) != $response)
        {
        //Etape 2.2
            //on observe la page de maintenance...
        $response = SocketMail("http://". $serveur. $action, "","GET","80");
        
        preg_match_all("/<form method=\"post\" action=\"([^\"]+)\"/i", $response, $matches);
            $action = $matches[1][0];
        
        if($debug)
            echo "<textarea rows=4 cols=100>2.2)\r\n". $action. "\r\n". $serveur. "</textarea>";
        
        //Etape 2.3
            //on effectue la maintenance...
        $argument = "confirm_maintenance=1&Horde=$horde";
        $response = SocketMail("http://". $serveur. $action, $argument,"POST","80");
        
        preg_match_all("/Location: ([^\n]+)\n/i", $response, $matches);
            $action = $matches[1][0];
        preg_match_all("/\/\/([^\/]+)\//i", $action, $matches);
            $serveur = $matches[1][0];
        preg_match_all("/$serveur(\/[^\r]+)\r/i", $response, $matches);
            $action = $matches[1][0];
        if($debug)
            echo "<textarea rows=4 cols=100>2.3)\r\n". $action. "\r\n". $serveur. "</textarea>";
        }
////////
    //Etape 3
        //On extrait de la page INBOX l'url qui permet de composer un e-mail
    $response = SocketMail("http://$serveur$action","","GET","80");
    preg_match_all("/var url = \"([^\"]+)\"/i", $response, $matches);
        $url_compose = $matches[1][0];
    
    if($debug)
        echo "<textarea rows=4 cols=100>3)\r\n". htmlentities($url_compose). "</textarea>";
    }
///////           
    //Etape 4.0
        //on poste la pièce jointe si necessaire...
    if(func_num_args() > 4)
	    {
	    $tabArgs = func_get_args(0);
	    $fileToUpload = $tabArgs[4];
	    
	    $response = uploadFile("http://$serveur". $url_compose, "sent_mail_folder=INBOX/sent-mail&thismailbox=INBOX&popup=1&reloaded=1&attachmentAction=add&actionID=122",$fileToUpload);
	    preg_match_all("/attachments_name\[\]\" value=\"([^\"]+)\"/i", $response, $matches);
	    	$attachments_name = $matches[1][0];
	    preg_match_all("/attachments_size\[\]\" value=\"([^\"]+)\"/i", $response, $matches);
	    	$attachments_size = $matches[1][0];
	    preg_match_all("/attachments_file\[\]\" value=\"([^\"]+)\"/i", $response, $matches);
	    	$attachments_file = $matches[1][0];
	    preg_match_all("/attachments_type\[\]\" value=\"([^\"]+)\"/i", $response, $matches);
	    	$attachments_type = $matches[1][0];
	        //$unique = $matches[1][0];
	    
	    if($attachments_size != "")
	    	$fileUploaded = true;
	    else
	    	$fileUploaded = false;
	    	
	    if($debug)
	        echo "<textarea rows=4 cols=100>4.0)\r\n". htmlentities($attachments_name. "\r\n". $attachments_size. "\r\n". $attachments_file. "\r\n". $attachments_type). "</textarea>";
	    }    
///////
    //Etape 4.1
        //On poste le message...
    if(substr($serveur,strlen($serveur)-1,strlen($serveur))!="/" && substr($url_compose,0,1)!="/")
        $url_compose = "/". $url_compose;
        
    if($url_compose=="")
        $url_compose = "/horde/imp/compose.php?Horde=$horde";
    
    $argument = "reloaded=1&actionID=114&last_identity=0&bcc=&from=$expediteur&to=$destinataire&subject=$sujet&save_sent_mail=&request_return_receipt=&message=$message";
    
    //On oublie pas les variables des pièces jointes si nécessaire...
    if(func_num_args() > 4 && $fileUploaded)
    	$argument .= "&attachments_name[]=" . $attachments_name. "&attachments_size[]=". $attachments_size. "&attachments_file[]=". $attachments_file. "&attachments_type[]=". $attachments_type;

    $response = SocketMail("http://$serveur". $url_compose. "&uniq=". rand(100000000000000000000000000,999999999999999999999999999). date("B"). (mktime()-735*$i),$argument,"POST","80");
        $i = $i+$i*$i;
    if($debug)
        echo "<textarea rows=4 cols=100>4.1)\r\n". htmlentities($response). "</textarea>";

//On vérifie tout est OK!
    if(str_replace("window.close();","",$response)!=$response)
        return TRUE;
    else
        return FALSE;
    }
function uploadFile($destination, $parametre, $fichier)
	{
	$debug = false;
	$response = "";
	$boundary = "-----------------------------". rand(1000000000000000000,9999999999999999999);
	if(is_File($fichier))
		{
		if(filesize($fichier) < 2097152) //Soit 1024 * 1024 * 2 = 2Mo
			{
			$hwnd = fopen($fichier,"r");
				$contenu = fread($hwnd, filesize($fichier));
			fclose($hwnd);
			
			$argument = "--". $boundary. "\r\nContent-Disposition: form-data; name=\"msie_formdata_is_broken\"\r\n\r\n\r\n";
			
			$tab = split("&",$parametre);
			
			if($debug)
				{
				echo "Debut tableau split:<br>";
				foreach($tab as $a => $b)
					echo "\"$a\" = \"$b\"<br>";
				}
			
			$i = 0;
			foreach($tab as $a => $b)
				{
				if($b != "")
					{
					$tab2 = split("=", $tab[$i], 2);
					$argument .= "--". $boundary. "\r\nContent-Disposition: form-data; name=\"". $tab2[0]. "\"\r\n\r\n". $tab2[1]. "\r\n";
					}
				++$i;
				}
			$argument = $argument. "--". $boundary . "\r\nContent-Disposition: form-data; name=\"file_upload\"; filename=\"". basename($fichier). "\"\r\nContent-Type: text/plain\r\n\r\n". $contenu. "\r\n--". $boundary. "--\r\n";
			
			if($debug)
				echo str_replace("\r\n","<br>",$argument);
			
			$response = SocketMail($destination, $argument, "POST", "80", "Pragma: no-cache\r\nContent-Type: multipart/form-data; boundary=\"". $boundary. "\"");
			}
		else
			$response = "";
		}
	else
		echo "\"$fichier\" n'est pas un fichier valide";
	
	return $response;
	}
	
function SocketMail($adresse,$argument,$methode,$port,$contentType="")
    {
    preg_match_all("/\/\/([^\/]+)\//i",$adresse,$matches);
        $serveur = $matches[1][0];
    preg_match_all("/$serveur(\/[^\r]*)\r/i",$adresse. "\r",$matches);
        $action = $matches[1][0];
    
    if($port=="")
        $port = 80;
        
    if(strlen($argument)>0)
        $methode = "POST";
    elseif($methode=="")
        $methode = "GET";
    
    $debug = false;
    $hwnd = fsockopen($serveur, $port, &$errno, &$errstr, 5);
    if($hwnd)
        {
        
            
        $sheader = "$methode $adresse HTTP/1.0\r\n".
                "Connection: Keep-Alive\r\n".
                "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)\r\n".
                "Host: $serveur\r\n";
                
        if($contentType=="")
        	$sheader .= "Content-type: application/x-www-form-urlencoded \r\n";
        else
        	$sheader .= $contentType. " \r\n";
        	
        if(strlen($argument)>0)
            {
            $sheader = $sheader. 
                    "Content-length:". strlen($argument). "\r\n\r\n". 
                    $argument. "\r\n";
            }
        $srequete = $sheader. "\r\n";
        
        fputs($hwnd,$srequete);
        if($debug) 
            echo str_replace("\r\n","<br>\r\n",$srequete). "<br>";
        
        $response = "";
        $a=1;
        while(($res = fgets($hwnd,1024)) && ($a==1))
            {
            $response = $response. $res;
            if($res=="0\r\n") $a=0;
            }
        fclose($hwnd);
        return $response;
        }
    else
        {
        echo "Impossible d'etablir la connexion avec $serveur pour $adresse";
        return FALSE;   
        }
    }
?>

 Conclusion

Voir ci dessous


 Sources du même auteur

REDIMENSION D'IMAGE AVANT L'ENVOIE AU NAVIGATEUR...
FONCTION MAIL POUR TOUS (MEME FREE) MISE A JOUR LE 23 SEPT 2...

 Sources de la même categorie

Source avec Zip Source avec une capture FORM TO MAIL AVEC PROTECTION PAR TOKEN ET CAPTCHA CONTRÔLES ... par cod57
Source avec Zip Source avec une capture FORMULAIRE VERS COURRIEL BASIQUE AVEC CONTRÔLE CAPTCHA ANTI ... par cod57
Source avec Zip CHAT EN PHP ET JQUERY par pitchoubrazil
Source avec Zip Source avec une capture FORMULAIRE DE CHOIX MULTI-CONTACT VALIDE XHTML 1.0 TRANSITIO... par aventurier19
Source avec Zip Source avec une capture WEB MESSENGER par EvildarkEurope

Commentaires et avis

Commentaire de transfear le 28/01/2004 02:15:26

Est-ce que tu connais Protomail ? Ça ressemble beaucoup à ça.

Autre question: c'est normal que le message soit pas envoyé instantanément ?

Commentaire de mmaxuel le 28/01/2004 04:21:19

Effectivement j'ai entendu parler de protomail!
tu pour envoyé des mail avec free y a pas 70 façons, elle se ressemble a peut pret toutes....

j'ai remarquer aussi le meme probleme, j'essairai de corriger ce pb.

bien entendu, ce n'est que la premiere version et je l'ameliorai au fur et a mesure...

Commentaire de mmaxuel le 28/01/2004 04:40:45

Voila le code a été mise a jour. un peu plus rapide...

le fait que le mail ne soit pas envoyé instantannement ne provienne pas de code... en effet apres des essais a 04h00 du matin, tous les message sont envoyé directement. donc cela est du au serveur...

Commentaire de transfear le 28/01/2004 13:06:20

ok merci.

autre chose: si j'envoie un mail à plusieurs personnes (comme dans le cas d'une mailling-list), est-ce qu'il y a un risque que le mail ne soit pas envoyé à tout le monde ?

Commentaire de Kirua le 28/01/2004 14:48:29

pr une mailing-list, tu mets pas ttes les adresses ds le champ "To", tu fais une boucle qui envoie des mails individuels, sinon tlm à la liste des adresses, c inciter au spamming ça :-/ enfin c pe pas ça que tu voulais dire, mais ds une boucle, je vois pas pq certains mails seraient ignorés par le serveur SMTP.

Commentaire de Urukai1 le 28/01/2004 22:22:55

SAlut

je viens de tester cette fonction sur free et voila le message obtenu

Warning: fsockopen(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /var/www/free.fr/8/a/XXXX/modules/mail.php on line 149

Warning: fsockopen(): unable to connect to :80 in /var/www/free.fr/8/a/XXXX/modules/mail.php on line 149
Impossible d'etablir la connexion avec pour http://imp3-q.free.fr&uniq=10753247119291075324711ooooo


quelqu'un pourrait-il me dire ce que cela veut dire et comment corriger cela

merci d'avance

Commentaire de mmaxuel le 28/01/2004 23:11:12

c'est simple laisse moi le temps de trouver l'erreur! ensuite je posterais une mise a jour.

voila merci.

Commentaire de mmaxuel le 28/01/2004 23:31:29

voila une correction est appliquer!
dite moi si l'erreur est toujours généré?

Commentaire de mmaxuel le 28/01/2004 23:46:51

a mon avis tu n'obitendra pas la meme erreur. mais il doit en rester une...

Commentaire de transfear le 29/01/2004 00:13:08

"pr une mailing-list, tu mets pas ttes les adresses ds le champ "To", tu fais une boucle qui envoie des mails individuels, sinon tlm à la liste des adresses, c inciter au spamming ça :-/ enfin c pe pas ça que tu voulais dire, mais ds une boucle, je vois pas pq certains mails seraient ignorés par le serveur SMTP. "

Ben g  déjà essayé d'envoyer plusieurs mails de suite et quelques uns ne se sont jamais rendus.

Commentaire de mmaxuel le 29/01/2004 00:19:31

leur portail imp.free.fr marche quand il le desire.
quand t'essaie d'envoyé un mail il est envoyé soit instantannement soit 20 ans plus tard. sans oublier les messages qui sont reconnue par hotmail comme du courrier indesirable.

je pense que ce script ne pourra pas corriger les bugs du site imp.free.fr (c'est quand meme bizard).

Commentaire de transfear le 29/01/2004 01:30:21

on pourrait pas utiliser un autre serveur qui envoie des mail gratos et qui fonctionne mieux qu'imp.free.fr ?

Commentaire de mmaxuel le 29/01/2004 05:31:22

si on pourrait... mais t'as un serveur en tete?
il faut un serveur qui ne m'etes pas de pub dans les mail (donc on enleve hotmail ifrance ), par contre je sait rien pour multimania.

en tout cas je vais finaliser ce script pour qu'il soit totalement autonome en cas de changement sur leur site imp et plus rapide...

ensuite je l'adapterais pour un autre serveur.

PS: les 3 mail que j'ai envoyé hier a 11h et quelque sont arriver respectivement a 1h26 1h43 et 1h56

ah! j'ai une idée sur le sujet d'ailleur, je vais corrigé le mail et on verra si les mail sont envoyé plus rapidement.

Commentaire de Urukai1 le 05/02/2004 21:49:55

Ok je viens de voir ton message
Ca marche d'enfer pour le moment
je viens de faire une boucle de 30 mails et g recu tous les mails ds les 10 secondes qui suivaient

donc super bravo pour ta source

Commentaire de fenix_flamme le 16/02/2004 22:21:47

jai un petit problem jai uploader le script sur mon serveur free
http://f3n1x.com.free.fr/mail.php
et jai une erruer a la ligne 127
Parse error: parse error in /var/www/free.fr/c/4/f3n1x.com/mail.php on line 127
je ne comprend pas! et puis pour chercher la ligne 127 je ne sais pas koi utiliser! pouvez vosu m'aider?!

Commentaire de mmaxuel le 16/02/2004 23:32:15

envoie moi ton code source a l'adresse rmoummed @ hotmail . com je te le corrigerais dans la journée....

Commentaire de Urukai1 le 16/02/2004 23:54:46

Pour ecrire en php j'utilise HtmlKit www.chami.com
et c tres pratik et il y a un marqueur de ligne etc...
bonne continuation

Commentaire de transfear le 17/02/2004 00:54:13

Moi j'utilise Dreamweaver MX pour écrire/lire le code PHP (avec les couleurs c'est superbe !) et EasyPHP pour le tester sur mon ordi avant de l'uploader sur le Net avec LeechFTP.

Commentaire de fenix_flamme le 17/02/2004 16:12:16

je vais de ce pas telecharger ces programmes! Merci bcp de votre reponse! j'orai aimer vous demander si c'etait possible, il ny a pas de zip associer pouriez vous en mettre un avec le script deja compliler dasn un *.php ou un exemple! merci bcp! je vais essayer de le fair marcher!

Commentaire de fenix_flamme le 17/02/2004 17:14:02

Dsl pour le flood pas fait expre recommencerai plu!!!! Bon merci jai reussi a enlever le bug  il sagissai duen erreur de recopiage!
mais voila jai le script php Uploader a la racien de mon serveur! mais je ne sais pas koi utiliser pour y fair appele!
http://f3n1x.com.free.fr/mailfree.php
kel son les input a utlizer pour y fair appelle?!
ou les balise PHP! Merci d'avance! je sent ke je susi pret du but!!

Commentaire de mmaxuel le 17/02/2004 17:56:49

par exemple:
tu as le fichier "index.php"

ce fichier est tout con il envoie un mail grace a la fonction MailH. Voila le contenu du fichier delimité par de ------ :

----------------------------
&lt;?

MailH("toi@toi.fr","Bonjour","Rappelle moi s'il te plait.");

?&gt;
----------------------------

donc le mail sera envoyé a "toi@toi.fr", le sujet du mail sera "bonjour" et le message du mail sera "rappelle moi s'il te plait".

voila j'espere que t'as compris... sinon dit moi ce qui va pas.

Commentaire de mmaxuel le 17/02/2004 17:59:05

ahhhhhhh merde dsl!!!!!!!!!!!!! j'ai oublier d'appeler le fichier contenant la fonction MailH! bon voici le fichier  corriger

par exemple:
tu as le fichier "index.php"

ce fichier est tout con il envoie un mail grace a la fonction MailH. Voila le contenu du fichier delimité par de ------ :

----------------------------
&lt;?
require("mailfree.php";

MailH("toi@toi.fr","Bonjour","Rappelle moi s'il te plait.");

?&gt;
----------------------------

donc le mail sera envoyé a "toi@toi.fr", le sujet du mail sera "bonjour" et le message du mail sera "rappelle moi s'il te plait".

voila j'espere que t'as compris... sinon dit moi ce qui va pas.

Commentaire de mmaxuel le 17/02/2004 17:59:05

ahhhhhhh merde dsl!!!!!!!!!!!!! j'ai oublier d'appeler le fichier contenant la fonction MailH! bon voici le fichier  corriger

par exemple:
tu as le fichier "index.php"

ce fichier est tout con il envoie un mail grace a la fonction MailH. Voila le contenu du fichier delimité par de ------ :

----------------------------
&lt;?
require("mailfree.php";

MailH("toi@toi.fr","Bonjour","Rappelle moi s'il te plait.");

?&gt;
----------------------------

donc le mail sera envoyé a "toi@toi.fr", le sujet du mail sera "bonjour" et le message du mail sera "rappelle moi s'il te plait".

voila j'espere que t'as compris... sinon dit moi ce qui va pas.

Commentaire de mmaxuel le 17/02/2004 18:00:09

arff j'ai encore fait une erreur

ahhhhhhh merde dsl!!!!!!!!!!!!! j'ai oublier d'appeler le fichier contenant la fonction MailH! bon voici le fichier  corriger

par exemple:
tu as le fichier "index.php"

ce fichier est tout con il envoie un mail grace a la fonction MailH. Voila le contenu du fichier delimité par de ------ :

----------------------------
&lt;?
require("mailfree.php");

MailH("toi@toi.fr","Bonjour","Rappelle moi s'il te plait.");

?&gt;
----------------------------

donc le mail sera envoyé a "toi@toi.fr", le sujet du mail sera "bonjour" et le message du mail sera "rappelle moi s'il te plait".

voila j'espere que t'as compris... sinon dit moi ce qui va pas.

Commentaire de fenix_flamme le 17/02/2004 18:59:52

Si je comprend bien un mail me sera envoyer avec mon adresse de mon serveur f3n1x.com@free.fr sur mon adresses a chak visite de cette page! mais peut on mettre une adresse differente un sujet et un corp different? par un Formulaire style:
&lt;FORM ACTION="http://f3n1x.com.free.fr/mailfree.php" METHOD="POST"&gt;
  &lt;INPUT TYPE="TEXT" VALUE="" NAME="recepteur"&gt;
  &lt;INPUT TYPE="TEXT" VALUE="" NAME="sujet"&gt;
  &lt;TEXTAREA NAME="Corp" ROWS=4 COLS=40&gt;
  &lt;/TEXTAREA&gt;
&lt;/FORM&gt;
enfin je sait pas ci vous voyez ce ke je recherche?!

Commentaire de fenix_flamme le 17/02/2004 19:03:49

http://f3n1x.com.free.fr/mailfree.php: fichier contenan le script
http://f3n1x.com.free.fr/sendfree.php: fichier fezan appel a la commande:
----------------------------
&lt;?
require("mailfree.php");

MailH("phenix_immortel@hotmail.com","Bonjour","Rappelle moi s'il te plait.");

?&gt;
----------------------------
en allan sur: http://f3n1x.com.free.fr/sendfree.php je recoi effectivemen un mail provenan de f3n1x.com@free.fr mais commen pui je edité le sujet et le corp et le destinataire?!

Commentaire de fenix_flamme le 17/02/2004 19:07:36

en tout les cas c'est un beau script tres interessent!! fallai y penser! mais il n'est pas forcemen utilisabel ke sur free?! on peu utiliser le webmail d'autre serveur?!
comme vous l'auré tous constater chui un debutant! mais je demande que a aprendre! la preuve sa marche le script maintenan ;)

Commentaire de transfear le 17/02/2004 23:10:11

Hey c'est super ton code, mais comment on fait pour envoyer un mail avec une autre adresse e-mail que celle du compte free ?

Commentaire de fenix_flamme le 18/02/2004 10:38:57

je vois ke tu n'a pas comprit!! ce script utilise le WEBMAIL de FRee!
donc pour envoyer un mail il faut avoir un compt free disponible!!
pour pouvoir envoyer un mail d'un autre adresse bah!! fo changer le
script!! voila!! VIVE LE PHP!! doije utliser du javascript ou du php pour fair mon formulaire?!

Commentaire de fenix_flamme le 18/02/2004 11:19:48

Script de base:
------------------------------
&lt;?
require("mailfree.php");
MailH("phenix_immortel@hotmail.com","Bonjour","Rappelle moi s'il te plait.");
?&gt;
------------------------------
Fichier sendfree.php3:
-------------------------------
&lt;? //ouverture de la balise PHP
//On récupère toutes les variables globales passées au script par le formulaire
$to = $GLOBALS[to];
$sujet = $GLOBALS[sujet];
$message = $GLOBALS[message];
require("mailfree.php");
mail("$to","$sujet","$message."); //on mail tout le contenu et hop
//Fermeture de la balise PHP
?&gt;
------------------------------
Fichier form2mail.html:
------------------------------
&lt;HTML&gt;
&lt;head&gt;
&lt;title&gt;FREE Maileur&lt;/title&gt;
&lt;/head&gt;
&lt;body bgcolor="black" text="whit" link="blue" vlink="purple" alink="red"&gt;
&lt;p&gt;Free.fr Form2mail&lt;/p&gt;
&lt;form name="form1" action="sendfree.php3" method=POST&gt;&lt;!-- sendfree.php3 sera le script php appelé lors de l'envoi du mail anonyme --&gt;
&lt;p&gt;A : &lt;input type="text" name="to" value="e-mail du destinataire"&gt;&lt;/p&gt;
&lt;p&gt;Sujet : &lt;input type="text" name="sujet" value="..."&gt;&lt;/p&gt;
&lt;p&gt;Message :&lt;/p&gt;
&lt;p&gt;&lt;textarea name="message" rows="10" cols="40"&gt;&lt;/textarea&gt;&lt;/p&gt;
&lt;p&gt;&lt;input type="submit" name="envoyer" value="Envoyer"&gt;&lt;/p&gt;
&lt;/form&gt;
&lt;p&gt;&nbsp;&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;
----------------------------
Si je recapitul mon script il fait appele a 2 script PHP et un forumaile
ce n'est dautre qu'une ammelioration d'un autre script! mais il est en cour de teste! car jattend la reception des mail!

Commentaire de fenix_flamme le 18/02/2004 11:27:34

euh si je vou dit ke ca marche vosu me croyé?! le pire c ke c du 100% bidouillage! mon machin!!!
si vous me croyé pas rendez vous sur mon site!

http://f3n1x.com.free.fr/form2mail.html

veuillez ne pas en abuzer merci!
ladresse denvoi est:
www.ph3n1x@free.fr

MERCI A TOUS et rapeler vous quand on persever on arrive toujours!

Commentaire de transfear le 18/02/2004 12:55:42

"je vois ke tu n'a pas comprit!! ce script utilise le WEBMAIL de FRee!
donc pour envoyer un mail il faut avoir un compt free disponible!!
pour pouvoir envoyer un mail d'un autre adresse bah!! fo changer le
script!! voila!! VIVE LE PHP!! doije utliser du javascript ou du php pour fair mon formulaire?!"

Je sais mais c'est que vois-tu j'ai besoin d'envoyer des mails pour mon site avec plus qu'une adresse e-mail... j'aimerais bien savoir comment modifier le code pour pouvoir envoyer un mail avec une autre adresse que celle du compte free.. je sais qu'un code nommé Protomail le fait déjà, mais je préfère celui-ci pour sa rapidité...

Commentaire de mmaxuel le 18/02/2004 13:36:33

transfear il suffit que tu me dise pour quelle compte mail tu veux le faire et j'essairai de l'adapter. ça ne sera pas tres long dans la mesure ou le serveur n'utilise pas de connexion securisé (https), j'ai jamais touché a ce protocole.

donc di moi sur quelle fournisseur veux tu utilisé?

Commentaire de transfear le 19/02/2004 01:05:22

Eh bien en fait le problème c'est que je ne suis pas seul à faire mon site web. Nous sommes une équipe, et je ne suis pas le responsable de la newsletter, par exemple, ou modérateur du forums. Ces deux posts requièrent la possibilité d'envoyer des mails à partir du site web (ex: une boucle php pour la newsletter), mais à partir de leur vraie adresse e-mail.

Au cas ou t'en aurais besoin, voici une adresse e-mail qu'un de mes collègue utilise:  aexyz9@hotmail.com

Commentaire de mmaxuel le 19/02/2004 07:15:24

voila! c'est ce que je disais, en fait hotmail utilise une connexion securisée (https).

mais bon je veux bien essayer on verra bien ce que ça donnera.

Commentaire de transfear le 19/02/2004 14:31:14

Si cela peut t'aider... je suis capable d'envoyer des mails avec n'importe quelle adresse avec le script protomail (disponible sur ce site, je crois)... alors si tu peux te baser dessus...

Commentaire de mmaxuel le 19/02/2004 14:33:24

bon! j'ai trouvé quelque information sur le protocole https, mais c'est pas fameux.

je prendre plus de renseignement sur le protomail...

Commentaire de mmaxuel le 19/02/2004 15:00:12

Voila!

le script vient d'etre mise a jour!
vous pouvez desormais changer l'adresse de l'expediteur...

Commentaire de mmaxuel le 19/02/2004 15:01:01

Pensez a donner une notee au script

Commentaire de milos le 23/02/2004 21:02:46

Le script fonctionne mais il est délicat à mettre en oeuvre car il faut bien associer les variables entre les différentes pages.
voir le resultat  à l'adresse suivante.
http://master.flash.free.fr/home/contact.php
enfin au bout de deux heure j'ai reussi
on peut le tester en local mais il faut etre connecté

Commentaire de dirtyjackfr le 27/02/2004 15:54:56

Je m'avance beaucoup mais ton script me semble tout bonnement génial.
Soit je suis une grosse nouile, mais j'ai éssayé d'utiliser protomail mais rien y fais; et ton scritp et bien j'include, j'appelle la fonction et le mail est envoyé.
Alors pour toutes nouvelles versions moi je suis preneur.
Merci pour ton script et bonne continuation.
Pour moi la note sera au MAXXX!

Commentaire de fh84 le 28/02/2004 18:15:40

Félicitation : c'est génial !!!

Mais, est-il possible de modifier ton script pour envoyer des mails au format html et non au format text ??? (pour pouvoir faire de belles newsletters comme les sites pro, en couleurs et tout et tout  ...)

Commentaire de mmaxuel le 29/02/2004 10:48:19

rend toi sur le site http://imp.free.fr/ et regarde si tu peux envoyer des mesages au format HTML. si c'est le cas c'est que oui tu peux modifier le script pour envoyer des mail au format HTML.

comme je n'ai pas trop le temps de chercher sur imp.free.fr fait le et dit moi si on peux pour que je le configure.

a+

Commentaire de fh84 le 29/02/2004 11:20:03

ben, j'ai été voir ... mais je ne sais pas comment on peut savoir si c'est possible ou pas ... en tout cas j'ai pas trouvé d'option ou quelque chose qui aborde le sujet ...
Mais moi j'utilise outlook, et j'arrive à envoyer des mail au format html par mon adresse free ... donc je ne vois pas pourquoi ce serait impossible avec ta fonction ...
Qu'en penses tu ?

A mon avi, c'est faisable !

Commentaire de mmaxuel le 29/02/2004 11:23:38

OutLook passe par le serveur smtp de free (smtp.free.fr) pour envoyé les mail, or nous les site perso nous n'avons pas access à ce serveur, ils nous ont bloquer le port 25.

Donc tu es comme moi je n'ai pas trouver d'options pour envoyer une mail en HTML avec http://imp.free.fr/...

Commentaire de fh84 le 29/02/2004 11:33:11

ben je ne sais pas alors ...
c'est faisable ou pas ?

si quelqu'un sait, merci de nous aider !!!   ;-)

Commentaire de mmaxuel le 29/02/2004 11:42:21

tout est faisable encore faut-il trouver la methode.
c'est qaund meme bizard que l'on puisse pas envoyé de mail en HTML avec imp.free.fr...
je vais y refaire un tour.

Commentaire de transfear le 07/03/2004 00:33:03

Ouais bon cette fonction marche super bien.. tout est ok, mais supposons que je veuille envoyer une pièce-jointe, comment je fait ?

mmaxuel, peux-tu modifier cette fonction pour qu'on puisse envoyer un fichier-joint svp ?  Tiens, j'ai quelque chose pour t'aider: http://www.phpteam.net/affiche.php?quoi=email4

Merci beaucoup !

Commentaire de Bl0tCh le 11/03/2004 17:38:49

Info : la fonction mail() marche chez free à présent donc plus besoin de s'embeter avec des scripts qui passe par imp.free.fr.
Par contre elle est limité à 1000 mails par jour.

Commentaire de transfear le 11/03/2004 23:03:47

Merci Bl0tCh pour l'info. Pourtant, dans leur FAQ (http://support.free.fr/faq/web.html#7), il est toujour écrit que la fonction mail() est désactivée et qu'il faut utiliser le script CGI.

Commentaire de dirtyjackfr le 12/03/2004 01:21:50

Et d'une;
Et de Deux
Vous l'avez éssayé la fonction mail(), parceque moi oui et à vrai dire elle n'est pas encore activée. et aprés renseignement pris auprés de free et bien il faut être patient.
Donc pour l'instant je ne vois pas pourquoi changer une équipe qui gagne.
Le script fonctionne et bien, alors pourquoi s'en priver.

Commentaire de transfear le 12/03/2004 01:36:06

En effet... mais reste toujours l'application de la pièce-jointe :S

Commentaire de mikii le 12/03/2004 09:50:37

Salut,
Je confirme la fonction mail() fonctionne chez free, car je l'ai testé.
je pense qu'elle ne fonctionne pas sur tous ses serveurs car il y a d'anciens serveurs qui conservent en core la vieille architecture.
Deux possibilités : soit attendre su'il transfère votre compte sur une nouvelle plateforme, soit ouvrir un nouveau compte...
a++
Mikii

Commentaire de mmaxuel le 12/03/2004 19:31:10

je suis en train de bosser dessus...ça sea bon pour lundi pour la fonction upload.

Commentaire de transfear le 13/03/2004 06:07:29

Oh... parfait ! mmaxuel, à partir de ce jour, je t'apellerai Dieu-du-PHP !

Commentaire de mmaxuel le 13/03/2004 07:17:19

nan surtout pas!!! mes chevilles sont deja en train de gonfler...
ce n'est pas une histoire de php, plutot une histoire de protocol http...

et ne me sort surtout pas "dieu-du-protocole-http"...

Commentaire de mmaxuel le 14/03/2004 19:17:41

je ne vais surment pas depose le script dans les temps...

le principal est fait mais je rencontre encore quelque petit probleme que je corrigerais quand j'aurais le temps...

Commentaire de transfear le 14/03/2004 20:05:41

oh zut c'est dommage... bon ben j'patienterai dans ce cas... merci encore !

Commentaire de dirtyjackfr le 14/03/2004 20:53:30

Quoi qu'il arrive s'aches que l'on est tous avec toi, alors courage et bonne continuation.

Commentaire de mmaxuel le 17/03/2004 10:32:59

Voila! enfin!

voici une premiere version de la fonction intégrant la possibilité de pièces jointes ou non...

son utilisation est decrite plus haut mais pour eviter de vous prendre la tete:

exemple sans pièce jointe:
&lt;?
$res = MailH("moi@moi.fr,"toi@toi.fr","Bonjour","Rappelle moi s'il te plait.");
    
    if($res)
        echo "ok";
    else
        echo "ooooo";
?&gt;

exemple avec pièce jointes:
&lt;?
$res = MailH("moi@moi.fr,"toi@toi.fr","Bonjour","Rappelle moi s'il te plait.","fichier texte.zip");
    
    if($res)
        echo "ok";
    else
        echo "ooooo";
?&gt;

Bon pour l'instant vous ne pouver joindre qu'une seul pièce, ce script est en phase de test donc si vous avez le moindre bug reporter le ici je le corrigerais...

si aucun bug n'est signalé d'ici une semaine je ferais une version pour plusieurs pièces jointes.

voila a+.

Commentaire de transfear le 17/03/2004 23:41:16

Désolé, mais je crois qu'il y a un bug, ou sinon c'est moi qui en a créer un. En tout cas, j'espère que vous pourrez m'aider. Quand j'envoie le mail avec une pièce-jointe, peut importe le type de pièce-jointe que j'envoie, je reçoie l'erreur suivante:

"D:\\dossierquelconque\\fichierquelconque.htm" n'est pas un fichier valide

Commentaire de mmaxuel le 18/03/2004 12:43:46

"aaaaa.." n'est pas un fichier valide...

le fichier n'existe pas tout simplement...

le script tu la mit sur un serveur free ou tu l'essai sur ton serveur local?


1)si tu le met sur le serveur free il faut que tu lui donne absolument l'adresse d'un fichier qui est sur le serveur free.

2)si tu l'a mit sur ton serveur local verifie que le fichier existe bien.

Commentaire de transfear le 18/03/2004 14:34:04

zut ce que je suis un connard... d'accord merci pour l'info... maintenant reste plus qu'à me trouver un script qui permet l'upload de fichiers...

Commentaire de thebadboy44 le 24/03/2004 21:23:31

Salut tt le monde je débute en PHP je suis hebergé sur free et pour ma zone membre je fais appel à la fonction mail() or sur free tt le monde le sais ... ç'est désactivé.Ce script ma tt de suite plus mais j'ai un peu de mal à le configurer pourma zone membre si quelqu'un pouvais m'aider.
D'avance un grand merci.


Commentaire de mmaxuel le 24/03/2004 21:27:03

je viens de t'envoye un mail
reond desormais ici comme ça, ça pourra aider les autres personnes qui on le meme probleme que toi...

qui dans ton, je le redis ici, tu te trompe dans les parametre de la fonction, tu met l'expediteur au lieu du destinataire et inverse....

deplus tu met plusieurs expediteur au lieu d'un seul...

corrig ça et ça devrais marcher...

Commentaire de mmaxuel le 25/03/2004 07:44:05

bon salut thabadboy44!

apres une petite recherche dans ton script j'ai remarquer que tu n'tulisais pas la fonction correctement...

en effet comme je te l'ai dit plus haut tu te trompe dans les parametres de la fonction MailH!  il faut les respecter!!!

tu a mit:
mailH("$pseudo &lt;$email_membre&gt;","Confirmation de l'inscription sur nightmares.fr.st",$body, "From: nightmares.fr.st &lt;badboy44@nightmares.fr.st");

au lieu de:
mailH(nightmares.fr.st &lt;badboy44@nightmares.fr.st", "$pseudo &lt;$email_membre&gt;","Confirmation de l'inscription sur nightmares.fr.st",$body);

en faitje vois que tu utilises les entetes de la fonction mail() de php, hors ici, j'ai simplifier l'affaire pour tout le monde... comme tu peut le constater:
1er parametre:
    adresse expediteur
2eme parametre:
    adresse destinataire
3eme parametre:
    sujet
4eme parametre:
    message
5eme parametre:
    piece jointes (optionnel)

bon tiens moi au courant....

a+

Commentaire de mmaxuel le 25/03/2004 07:45:46

arf j'ai aussi fait une erreur, j'ai oublie un p'tit truc ":

mailH("nightmares.fr.st &lt;badboy44@nightmares.fr.st", "$pseudo &lt;$email_membre&gt;","Confirmation de l'inscription sur nightmares.fr.st",$body);


voila c'est mieux

Commentaire de thebadboy44 le 25/03/2004 21:43:10

Alors là franchement chapeau tout marche nikel c'est vraiment genial, merci beaucoup mmaxuel. c'est grâce à des gens comme toi que internet peut continuer à exister.merci

Au passage un petit coup de pub pour mon site : http://nightmares.fr.st
Aide informatique, hacking logiciels

Commentaire de mmaxuel le 26/03/2004 05:33:01

tu as oublié de fermer &gt; a la fin de l'adresse de l'expediteur:
mailH("nightmares.fr.st &lt;badboy44@nightmares.fr.st","$pseudo &lt;$email_membre&gt;","Mot de passe Nightmares","Bonjour,\n\nVous avez demandez à recevoir votre mot de passe.\nVotre mot de passe est : $passe\n\nCordialement, le webmaster.\nhttp://www.nightmares.fr.st");


devient

mailH("nightmares.fr.st &lt;badboy44@nightmares.fr.st&gt;","$pseudo &lt;$email_membre&gt;","Mot de passe Nightmares","Bonjour,\n\nVous avez demandez à recevoir votre mot de passe.\nVotre mot de passe est : $passe\n\nCordialement, le webmaster.\nhttp://www.nightmares.fr.st");


bon ça c'est une p'tite erreur d'etourderie...

par contre pour l'autre peux tu me renvoyer (par mail) le code complet de la page qui s'execute quand les 2 mails, dont un vide, sont envoyé?

Commentaire de mmaxuel le 26/03/2004 21:36:55

Bon!

j'ai regarder vite fait ton code, c'est encore une etourderie!!!!!!! faut consulter je crois la!!!!! (-|

Bon, a la ligne suivante tu souhaite recuperer les champs 'pseudo' et 'passe' et 'email'...
  $query = mysql_query("SELECT pseudo, passe, email FROM zone_membre WHERE email='$email'");

donc quand tu fera ton mysql_fetch_array... tu aura en retour un tableau contenant les colonnes 'pseudo' et 'passe' et 'email'... jusqu'ici tout est normal...

dans la ligne suivante tu demande de lister la premiere ligne du tableau generer par mysql_fetch_array, et c'est la qu'est l'erreur si je ne me trompe, tu demande a les mettre dans $expediteur, $destinataire, $sujet, et $message hors tu avais demander a la base de donner que 3 champs qui j'i citer au dessus. donc remplace cette ligne:
  if (list($expediteur, $destinataire, $sujet, $message) = mysql_fetch_array($query))

par :
  if (list($pseudo, $passe, $email_membre) = mysql_fetch_array($query))

bon normalement ça devrait marcher la, mais j'ai une p'tite hesitation, bon verifie quand meme qu'on utilise la fonction list() correctement, car il est probable que le premier argument renvoie le numero de ligne...

bon teste comme ça et tiens moi au courant.

Commentaire de XamOrpheus le 27/03/2004 01:14:26

Pour info, la fonction mail est activée chez Free depuis quelques mois hein... http://questions.free.fr/index.php?sid=13557&aktion=artikel&rubrik=001002&id=28

Commentaire de mmaxuel le 27/03/2004 06:57:09

merci pour l'info.

Commentaire de thebadboy44 le 27/03/2004 18:54:27

C'était encore une dernière étourderie merci beaucoup tout marche nikel alors merci et la prochaine fois j'essaerai la fonction mail() puisque elle a été rétablie.
@++ et vive le php et le scripting.


Visitez http://nightmares.fr.st, près de 1600 visiteurs content ;-) en 2 mois.
Ps: je vais consulter paske les étourderie y'en a marre. :-p

Commentaire de Natim le 03/04/2004 06:43:44

J'ai une question pour les pièces jointes :

- j'ai vu la question de transfear et j'aimerais savoir si quelqu'un a fait un script pour que les personnes puissent envoyer des pièces jointes au format images (jpg, png, gif) seulement Et que la fonction ne mette pas : "D:\\dossierquelconque\\fichierquelconque.htm" n'est pas un fichier valide

Merci de votre prochaine réponse
Natim
http://www.eeudf-belfort.clan.st

Commentaire de mmaxuel le 03/04/2004 08:41:00

la fonction permet d'envoyer n'importe quelle pieces jointes... par contre qu'une seul....

tant que le script ne renvoie pas ".... n'est pas un fichier valide" c'est que le fichier a ete accepter...

faite un test en vous envoyant votre propre mail pour voir si la piece jointes passe bien...

voila j'espere avoir repondu correctement.

Commentaire de Natim le 03/04/2004 14:37:00

Le problème est que le script renvoie ".... n'est pas un fichier valide" sauf quand le fichier est sur le serveur exemple dans le même repertoire que le script.
Je suis donc en train de faire une fonction qui upload la pièce jointe sur le serveur, puis l'envoie avec cette fonction et ensuite supprime le fichier créé
C'est ça que je cherche si qqun l'a déjà fait
Merci de ta rapide réponse peut-être que la précedente été mal formulée
++
Natim
http://www.eeudf-belfort.clan.st

Commentaire de mmaxuel le 03/04/2004 14:57:22

ok en fait tu voudrais faire un formulaire de mail avec pieces jointes???

je peux essayer de te faire peut etre pour lundi...

Commentaire de Natim le 04/04/2004 09:59:34

Merci, ce serais cazrrément simpa !

Commentaire de dirtyjackfr le 25/11/2004 21:18:28

Bonjours à tous

Je sais que la fonction mail fonctionne ( normalement )  maintenant sur Free, mais je suis plutôt attaché à ce script, notament parceque je ne me sert pas de ma boîte mail de free à des fins perso, alors si elle peu servir pour mon site.
et j'ai remarqué que l'adresse à changé, c'est maintenant
   http://imp2-q.free.fr
au lieu de    
   http://imp.free.fr/

Alors j'ai fais le changement dans le script, mais pas de mail; peut qu'il y a eu d'autres changements?

serait t'il possible d'avoir une mise à jour pour le plaisir de tous.
Moi je suis fan de ton script.

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,390 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales