begin process at 2012 05 31 12:08:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Débutants

 > 

Probléme avec script mail chez Free


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probléme avec script mail chez Free

mardi 2 novembre 2004 à 15:53:40 | Probléme avec script mail chez Free

SteufDu59

J'ai donc un formulaire avec la possibilité de joindre une image, donc en fichier joint, le script niveau formulaire est :

if ($fonctionmail=="oui")
{
// envoi par mail de l'annonce
require ("mime_mail.class.php"); //je m'envoie tout ça par mail

while (list($key, $value) = each($HTTP_POST_VARS))
{
$corps .= $key . ' = ' . $value . "\r\n";
}
if ($img!="")
{
// ouverture et lecture du fichier
$fd =fopen("$file", "r");
$fichier = fread($fd, filesize($file));
fclose($fd);

// instanciation de la classe
$mail = new mime_mail();
// adresse email de reception
$mail->to = $to;
// sujet
$mail->subject = "Annonce mise en ligne";
// corps du message (on utilise un fichier txt)
$mail->body = $corps;
// adresse email de l'expediteur (optionnel)
$mail->from = $from;
// entetes supplementaires (optionnel)
$entetedate = date("D, j M Y H:i:s -0500");
$entetemail .= "X-Mailer: PHP/" . phpversion() . "\n" ;
$entetemail .= "Date: $entetedate";
$mail->headers = "$entetemail";
if ($img != "")
{
// fichier attache (optionnel)
$mail->attach("$fichier", "$file_name");
}
// envoi du message
$mail->send(); //fin de l'envoi par mail
}
}
}
}

Le fichier mime_mail.class.php est :

<?

class mime_mail
{

var $parts;
var $to;
var $from;
var $headers;
var $subject;
var $body;

// constructeur
function mime_mail()
{

$this->parts = array();
$this->to = "";
$this->from = "";
$this->subject = "";
$this->body = "";
$this->headers = "";

}

// attache un fichier au message
function attach($message,$name,$ctype = '')
{

// type de contenu non defini
if(empty($ctype)){
// on essaie de reconnaitre l'extension
switch(strrchr(basename($name), ".")){
case ".gz": $ctype = "application/x-gzip"; break;
case ".tgz": $ctype = "application/x-gzip"; break;
case ".zip": $ctype = "application/zip"; break;
case ".pdf": $ctype = "application/pdf"; break;
case ".png": $ctype = "image/png"; break;
case ".gif": $ctype = "image/gif"; break;
case ".jpg": $ctype = "image/jpeg"; break;
case ".txt": $ctype = "text/plain"; break;
case ".htm": $ctype = "text/html"; break;
case ".html": $ctype = "text/html"; break;
default: $ctype = "application/octet-stream"; break;
}
}

$this->parts[] =
array (
"ctype" => $ctype,
"message" => $message,
"encode" => $encode,
"name" => $name
);

// fin de fonction
}

// fonction utilisee pour contruire le message MIME
// utilisee depuis build_multipart()
function build_message($part)
{

$message = $part[ "message"];
$message = chunk_split(base64_encode($message));
$encoding = "base64";

return "Content-Type: ".$part[ "ctype"].
($part[ "name"]? "; name = \"".$part[ "name"]. "\"" : "").
"\nContent-Transfer-Encoding: $encoding\n\n$message\n";

}

// compose le message MIME
// utilisee depuis send()
function build_multipart()
{

$boundary = "b".md5(uniqid(time()));
$multipart = "Content-Type: multipart/mixed; boundary = $boundary\n\nThis is a MIME encoded message.\n\n--$boundary";

for($i = sizeof($this->parts) - 1; $i >= 0; $i--)
{
$multipart .= "\n".$this->build_message($this->parts[$i]). "--$boundary";
}

return $multipart.= "--\n";

}

// envoie le message
// derniere fonction a appeler
function send()
{

$mime = "";
// parametres optionnels
if (!empty($this->from)) $mime .= "From: ".$this->from. "\n";
if (!empty($this->headers)) $mime .= $this->headers. "\n";
if (!empty($this->body)) $this->attach($this->body, "", "text/plain");
// entete MIME
$mime .= "MIME-Version: 1.0\n".$this->build_multipart();
// envoi du message
mail($this->to, $this->subject,"", $mime);

}

}; // fin de la classe


?>

Quand dans mon formulaire je n'ai pas d'image, je ne reçois rien par mail et aucun message d'erreur, quand je mets une image cela me donne ce message d'erreur :
Warning: mail(): Erreur d'appel #1.02 in /var/www/free.fr/6/5/extantpc/annonce/mime_mail.class.php on line 145
Qui correspond à cette ligne :
mail($this->to, $this->subject,"", $mime);


Je mets ceci à la place :
echo "mail($this->to, $this->subject,\"\", $mime)";

Et cela vérifie le début, lorsque je ne mets pas d'images, il n'utilise pas la fonction mail, lorsque j'envois une image j'ai ça :
"mail(extantpc@free.fr, Annonce mise en ligne,"", From: extantpc@free.fr X-Mailer: PHP/4.3.9RC2 Date: Tue, 2 Nov 2004 15:39:18 -0500 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary = b240001758180d6295cad4776d2d6c936 This is a MIME encoded message. --b240001758180d6295cad4776d2d6c936 Content-Type: text/plain Content-Transfer-Encoding: base64
(un tas de caractéres )
)

Donc a priori il y a deux probléme : Le script rend obligatoire la piéce jointe pour être envoyé, ce qui ne devrait pas être le cas, et lors de l'envoit avec piéce jointe il y a une erreur, qui sait ou elles sont ? merci !!!



mardi 2 novembre 2004 à 16:24:20 | Re : Probléme avec script mail chez Free

o0Leo0o

Membre Club
Me semble que la fonction mail est désactivée chez Free :/
mardi 2 novembre 2004 à 16:49:50 | Re : Probléme avec script mail chez Free

SteufDu59

Non elle fonctionne mais limité à 1000Mails/semaine.


Cette discussion est classée dans : message, mail, break, mime, ctype


Répondre à ce message

Sujets en rapport avec ce message

Modification de la classe mime_mail [ par BananaTree ] slt tout le monde.j'utilise la classe mime_mail (ci desous) pour transmettre un mail depuis flash. coté flash pas de pb bien sur. mais en php, je misè l'envoi de message [ par mwahid ] comment envoyer un email j'ai ce code mais ca marche pas // Interface PHP pour mail() function sendMail($mFrom,$mTo,$sujet,$body) {    // l'émetteur Recevoir un message par e-mail [ par astuces_jeux ] Bonjour, Je cherche si il y a moyen de créer une page avec ou on demande l'adresse e-mail de qulqun et qand il la met puis il clique sur envoyer je re C'est une chose possible ? -> http://www.monsite.com/Formulaire.php?$non=Robert&$mail=robert@mail.com&$message=Bonjour, \nJ'aimerai savoir si blabla... [ par Croquette007 ] Bien le bonjour à tous !C'est la première fois que je poste une question sur le forum, et je viens de découvrir cet éditeur RTE (Riche Texte Editor), problemes avec envoi de mail... [ par nezdeboeuf62 ] Bonjour les amis...Bon voila, j'ai ecrit un script qui envoi un mail au format texte ou html (c'est une confirmation d'une inscription, ms le contenu [mail] Mail en html [ par Lucyberad ] Amis devellopeur et devellopeuse, bonjour ! voila mon probleme: quand j'envoie un mail (pour la comfirmation d'un nouveau compte) je recoi bien le m Fonction email [ par milkasoprano ] Bonjour j'ai un petit renseignement a vous demander ! pk ma fonction mail ne fonctionne pas ? je ne recois pas demail ! le site supporte bien la fonct Demande d'aide [ par importsa ] Bonjour, un ami a créer un site en mémoire de mon fils de 25 décèdé lors d'une course d'école.Il y a une page qui permets d'allumer une bougie sous:ht newsletter [ par simon0000 ] salut je ve fait ce code pour ennoyer une newsletter a tous les e-mail inscrit dans le fichier 3.txt mais aucun e-mail n'est envoyer est ce que quelqu newsleter [ par simon0000 ] salut je ve fait ce code pour ennoyer une newsletter a tous les e-mail inscrit dans le fichier 3.txt mais aucun e-mail n'est envoyer est ce que quelqu


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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,874 sec (3)

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