CLASS MAILEUR

cs_Kevin007 Messages postés 40 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 1 octobre 2006 - 13 juin 2005 à 20:54
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009 - 2 oct. 2008 à 11:48
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/32034-class-maileur

crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
2 oct. 2008 à 11:48
je sais pas si j'ai bien compris mais à la place de :

$r.coupe(base64_encode(file_get_contents($a)),72).'--'.$boundary;
if ($n==$end)
$message.='--'.$r;
else
$message.=$r;


j'ai bidouillé:

$tmp=$this->coupe(base64_encode(file_get_contents($a)),72).'--'.$boundary;
if ($n==$end)
$message.=$tmp.'--'.$r;
else
$message.=$tmp;


???????????????????????????
crazygogo Messages postés 135 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 17 avril 2009
2 oct. 2008 à 11:19
bien, juste 1 soucis en cas de PJ :

Fatal error: Call to undefined function coupe() in mail.class.php on line 72
niceman23 Messages postés 36 Date d'inscription vendredi 6 janvier 2006 Statut Membre Dernière intervention 27 février 2009
12 avril 2008 à 04:51
Salut bien beau avoir cette source . Mais j'ai pas de tableau pour le faire fonctionner ... Je sais meme pas quoi faire avec cette bout de code ... Éclairsiser moi . Parce que la , j'ai surment un sendmail avec piece join mais rien pour le faire fonctionner


@+
totomaze Messages postés 4 Date d'inscription lundi 29 juillet 2002 Statut Membre Dernière intervention 10 mars 2008
10 mars 2008 à 17:48
Bonjour,

Cette clase marche bien, mais j'ai un probleme avec les pièces jointes, lorsque j'ouvre le message la pièces jointe est afficher dans le corps du message (messagerie lotus). (Il doit surement manquer un petit quelque chose)

(Lorsque j'envoi un mail avec une piece jointe sur hotmail la pièce jointe est bien reconnu)
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
7 déc. 2006 à 12:59
ça doit être dans les headers, mais je ne sais plus ou...
ced0072 Messages postés 1 Date d'inscription dimanche 29 octobre 2006 Statut Membre Dernière intervention 6 décembre 2006
6 déc. 2006 à 11:36
Tout d'abord merci pour cette classe qui fonctionne parfaitement.
Et puis petite question: comment faire si je veux définir une adresse "reply to" differente du "from"?
Je suppose que ce n'est pas compliqué et qu'il faut juste utiliser la bonne syntaxe au bon endroit mais si tu peux m'aider ce serait cool.
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
13 juil. 2006 à 14:59
là tu polues ma source... tu postes du code html sans interet... on est sur un forom php là...

http://coucou747.hopto.org/article_35.html

lis ça... ça t'aidera surement à mieux coder
jemozone Messages postés 9 Date d'inscription jeudi 10 février 2005 Statut Membre Dernière intervention 31 juillet 2006
13 juil. 2006 à 14:53
mieux vaut dire des betises que de rester dans sa betise. au moins, le monde avance.
jemozone Messages postés 9 Date d'inscription jeudi 10 février 2005 Statut Membre Dernière intervention 31 juillet 2006
13 juil. 2006 à 14:51
je parle ud code entre

$msg .= "</html>";

et

$msg .= "</html>";

tout le reste marche nickel.

j'ai des erreurs de type (point d'exclamation redondant, class qui ne s'applique pas...(en fonction des balises exploitées (strong, span, a)...bref des betises mais bien ennuyeuses.

je galère la dessus depuis 4 jours sans arriver à un affichage parfait !!!

quelles sont les règles a respecter que je ne respectess pas ?

ç'est ça ma vrai question. (pour que j'avance vraiment)

merci pour votre aide...
(et desolé encore pour ce re-copie-colle de code)
jemozone Messages postés 9 Date d'inscription jeudi 10 février 2005 Statut Membre Dernière intervention 31 juillet 2006
13 juil. 2006 à 14:42
si tu le permet je colle un code qui marche (qui n'est pas de moi, mais de ST3 Design). j'ai collé le code de ma page. je recois le mail avec les données donc génial. Mais la mise en page a du mal a être respecté (point d'exclamation redondant, image n'apparaissant plus... des details vachement embetant).

en esperant que tu sois pas faché pour ce deuxieme collage de code :


<?php
// Il ne faut rien changer ci-dessous si vous désirez que ça marche
// Boundary = Frontière en Anglais
$boundary = "-----=".md5(uniqid(rand()));

// Ici, on construit un entête contenant les informations
// Ici non plus, vous ne devez rien changer
// Version du format MIME utilisé
$header = "MIME-Version: 1.0\r\n";
// Boundary = Frontière en Anglais
$header .= "Content-Type: multipart/mixed; boundary="$boundary"\r\n";
$header .= "\r\n";

//--------------------------------------------------
// Construction du message proprement dit
//--------------------------------------------------

// Pour le cas, où le logiciel de mail du destinataire
// n'est pas capable de lire le format MIME de cette version
// Il est de bon ton de l'en informer
// Ce message n'apparaît pas pour les logiciels sachant lire ce format
$msg = "Je vous informe que ceci est un message au format MIME 1.0 multipart/mixed.\r\n";

// Chaque partie du message est séparé par une frontière
$msg .= "--$boundary\r\n";

// Et pour chaque partie on en indique le type
$msg .= "Content-Type: text/html; charset="iso-8859-1"\r\n";
// Et comment il sera codé
$msg .= "Content-Transfer-Encoding:8bit\r\n";
// Il est indispensable d'introduire une ligne vide entre l'entête et le texte
$msg .= "\r\n";
// Enfin, vous pouvez écrire votre Message ici
// Je vais vous expliquer comment faire votre description plus bas
$msg .= "<html>
<link href="http://www.spad-nord.fr/spad.css" rel='stylesheet' type='text/css'>";
$msg .= ",

----

,
<table width='797' border='0' align='center' cellpadding='0' cellspacing='3' class='table'>
----, </td>
Sécurité Prévention des Accidents Domestiques ,
<table width='300' border='0' align='center' cellpadding='0' cellspacing='0'>
----, </td>
www.spad-nord.fr
contact

</td>
</tr>
<tr>
<td colspan='4'align='center'>
$civilite $nom nous a contacté

le $date à $heure
</td>
</tr>
<tr>
<td colspan='4' valign='middle' class='menu_passif'><hr size='1'></td>
</tr>
<tr>
<td colspan='4' valign='middle'>L'ip enregistré pour ce contact est : $ip

</td>
</tr>
<tr>
<td colspan='4' valign='middle'><hr size='1'>

</td>
</tr>
<tr>
<td valign='middle' class='menu_passif'>

</td>
<td colspan='3' valign='middle'> </td>
</tr>
<tr>
<td valign='middle'>Civilité* :

</td>
<td colspan='3' valign='middle' class='menu_passif'>$civilite</td>
</tr>
<tr>
<td valign='middle'>Nom* :

</td>
<td width='194' valign='middle'>$nom

</td>
<td width='213' valign='middle'>Prénom* :

</td>
<td width='284' valign='middle'>$prenom

</td>
</tr>
<tr>
<td valign='middle'>Courriel* :

</td>
<td valign='middle'>$email

</td>
<td valign='middle'>Téléphone* :

</td>
<td valign='middle'> $numero </td>
</tr>
<tr>
<td valign ='middle'>Priorité* :

</td>
<td valign= 'middle'>$priority

</td>
<td valign='middle'>Mobile :

</td>
<td valign='middle'>$mobile

</td>
</tr>
<tr>
<td colspan='4' valign='middle'>


</td>
</tr>
<tr>
<td colspan='4' valign='middle'><hr size='1'>

</td>
</tr>
<tr>
<td colspan='4' valign='middle'>$civilite $nom souhaite:

$type_demande,
Concernant la solution :

$type_produit
</td>
</tr>
<tr>
<td colspan='4' valign='middle'><hr size='1'>

</td>
</tr>

<tr>
<td colspan='4' valign='middle'>Votre Message*

</td>
</tr>
<tr>
<td colspan='4' valign='middle'><hr size='1'>

</td>
</tr>
<tr>
<td valign='middle' >Objet* : </td>
<td colspan='3' valign='middle'>$sujet</td>
</tr>
<tr>
<td colspan='4' valign='middle'></td>
</tr>
<tr>
<td valign='middle'>Message* :

</td>
<td colspan='3' valign='middle'> $message </td>
</tr>
<tr>
<td colspan ='4' valign= 'middle' align='right'><hr size='1'></td>
</tr>
<tr>
<td height='30' colspan='2' valign='middle'> Je désire recevoir la lettre d'information de Spad-nord.fr : </td>
<td valign ='middle'>$newsletter</td>
<td valign= 'middle'> </td>
</tr>
<tr>
<td height='26' colspan='4' valign='middle'> </td>
</tr>
<tr>
<td colspan='4' valign='top'>
</td>
</tr>
</table></td>
<td width ='38' background="http://www.spad-nord.fr/images/tab_blanc_trans/largeur_droit2.gif"> </td>
</tr>
<tr>
<td width='35' height='33' background="http://www.spad-nord.fr/images/tab_blanc_trans/coin_bas_gauche.gif"> </td>
<td height='33' background="http://www.spad-nord.fr/images/tab_blanc_trans/bas.gif"> </td>
<td height='33' background="http://www.spad-nord.fr/images/tab_blanc_trans/coin_bas_droit.gif"> </td>
</tr>
</table>
";
$msg .= "</html>";
$msg .= "\r\n";

// Tout d'abord lire le contenu du fichier
//$file = "$fic_attache";

// puis convertir le contenu du fichier en une chaîne de caractère
// certe totalement illisible mais sans caractères exotiques
// et avec des retours à la ligne tout les 76 caractères
// pour être conforme au format RFC 2045
//$attachment = chunk_split(base64_encode($attachment));

// Ne pas oublier que chaque partie du message est séparé par une frontière
//$msg .= "--$boundary\r\n";
// Et pour chaque partie on en indique le type
//$msg .= "Content-Type: $typemime; name="$file"\r\n";
// Et comment il sera codé
//$msg .= "Content-Transfer-Encoding: base64\r\n";
// Petit plus pour les fichiers joints
// Il est possible de demander à ce que le fichier
// soit si possible affiché dans le corps du mail
//$msg .= "Content-Disposition: attachment; filename="$file"\r\n";
// Il est indispensable d'introduire une ligne vide entre l'entête et le texte
//$msg .= "\r\n";
// C'est ici que l'on insère le code du fichier lu
//$msg .= $attachment . "\r\n";
//$msg .= "\r\n\r\n";

// voilà, on indique la fin par une nouvelle frontière
//$msg .= "--$boundary--\r\n";

$destinataire = "mon adresse email";
$expediteur = "$email";
$reponse = $expediteur;
mail($destinataire, "le sujet du message", $msg,
"Reply-to: $reponse\r\nFrom: $expediteur\r\n".$header);
header("Location: index.php?redirection"); ?>


voila. ce code marche mais je fais des fautes d'ecritures qui sont mal interprété. si vous pouviez me dire ou sont les erreurs...
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
13 juil. 2006 à 14:39
"j'ai remarqué aussi que php n'aime pas les DIV..."=> bah oui évidement.... t'auras dit beaucoup de bétises aujourd'hui...
jemozone Messages postés 9 Date d'inscription jeudi 10 février 2005 Statut Membre Dernière intervention 31 juillet 2006
13 juil. 2006 à 14:36
le but est :

a partir d'un formulaire, envoyer les données de ce formulaire par mail au format html incluant les $ qui m'interesse. l'email que je reçois est MIS EN PAGE (design)(voir code "page reponse").

(php envoie la page reponse complété des infos remplis dans le formulaire)
si je veux mettre le code de la page que je souhaite recevoir dans (par ex $msg=. "code html de ma page"), quelles sont les regles d'ecriture du code pour que php et le client mail l'interprete correctement ? (pour les liens je sais que je dois faire "\http://www.lien.fr"\, j'ai remarqué aussi que php n'aime pas les DIV... )

j'ai vraiment du mal a m'expliquer... je suis desolé...
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
13 juil. 2006 à 14:31
$mail->setfrom('$email', '$nom');

les $var ne sont pas remplacées par leurs valeur lorsqu'elles sont entre des simples quotes...


$mail->setfrom($_POST['email']; $_POST['nom'];) ?

pourquoi des ; ?

ensuite, tu mets : $a=$mail->send(array('monadresse@monsite.fr'),'message en provenance du site', 1, '(k)', 'HTML');
moi j'avais mis : $a=$mail->send(array('bob@bob.com'), array('alice@alice.com'),'Salut, comment ça va ?', 1, '(k)', 'HTML');

j'ai deux tableaux, t'en as qu'un... le premier tableau est en fait le mail des destinataires, le second leur nom... (k) c'était le sujet du mail...
jemozone Messages postés 9 Date d'inscription jeudi 10 février 2005 Statut Membre Dernière intervention 31 juillet 2006
13 juil. 2006 à 14:25
ok merci pour l'info.

la doc je l'ai lu : apprendre tout seul le php c'est pas évident pour tout le monde.

Concernant le collage de la source >> excuse, j'y ai pas pensé...mais je voulais être clair...



pour l'adapter :

$mail=new Mail_();
$mail->set('serveur.envoie.mail');
$mail->setfrom('$email', '$nom');

//pour recuperer données du formulaire (c'est ça ? ou dois je exploiter "$mail->setfrom($_POST['email']; $_POST['nom'];) ?

puis

$a=$mail->send(array('monadresse@monsite.fr'),'message en provenance du site', 1, '(k)', 'HTML');
if ($a[0]===false){
echo 'mail à impossible à envoyer ! ('.implode($a).')
';
$i--;
$er++;
}

>>>> cette fonction se place où exactement ? à la place de "function send" (remplacer le code present de la ligne 26 à 44 ou encore de la ligne 26 à la fin ) ?

et pour recevoir le contenu html de ma page réponse (voir 2eme post ci dessus), dois je coller le code de cette page ? si oui où et de quelle manière? (je ne repost pas le code déjà present 3 post au dessus de celui ci.

merci pour vos reponses et désolé si mes questions sont.... bebete. (soyez fairplay, j'apprend) merci encore
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
13 juil. 2006 à 13:27
stp... tu aurais pu éviter de coller "toute" ta source... uniquement le php, ça aurait suffit...

$mail=new Mail_();
$mail->set('smtp.wanadoo.fr');
$mail->setfrom('bob@bob.fr', 'coucou747');
$a=$mail->send(array('bob@bob.com'), array('alice@alice.com'),'Salut, comment ça va ?', 1, '(k)', 'HTML');
if ($a[0]===false){
echo 'mail à impossible à envoyer ! ('.implode($a).')
';
$i--;
$er++;
}


ça s'utilise comme une fonction, ça n'a rien à avoir avec les CSS... et lis la doc un peu...
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
13 juil. 2006 à 13:27
stp... tu aurais pu éviter de coller "toute" ta source... uniquement le php, ça aurait suffit...

$mail=new Mail_();
$mail->set('smtp.wanadoo.fr');
$mail->setfrom('bob@bob.fr', 'coucou747');
$a=$mail->send(array('bob@bob.com'), array('alice@alice.com'),'Salut, comment ça va ?', 1, '(k)', 'HTML');
if ($a[0]===false){
echo 'mail à impossible à envoyer ! ('.implode($a).')
';
$i--;
$er++;
}


ça s'utilise comme une fonction, ça n'a rien à avoir avec les CSS... et lis la doc un peu...
jemozone Messages postés 9 Date d'inscription jeudi 10 février 2005 Statut Membre Dernière intervention 31 juillet 2006
13 juil. 2006 à 10:56
Seriez vous assez aimable pour copier-coller le code complet et corrigé (fonctionnant) : je suis novice debutant (en plus autodidacte...ouinnnn)

J'ai copié le code présent en haut de cette page.

puis j'ai lu vos commentaires et ai appliqué les modif ($mail= new Mail_();
$mail->set($smtp_serveur);
$mail->setfrom('monmail', 'coucou747');
$a=$mail->send(array($email), array($emailname]), $content, 1, 'sujet', 'HTML');
if ($a[0]===false)
echo 'mail à '.$mail.' impossible à envoyer ! ('.implode($a).')
';) mais là je suis perdu...

j'arrive pas a adapter....


une question :

comment exploiter ce code (si c possible bien sure) : je sais a peu pret exploiter une fonction mais pas les "class".
Cela signifie t-il que ce code se trouve dans un css et appliquer à un formulaire cette même class ? (comme pour le design d'un site) ou je suis à coté de la plaque ? (merci de m'aiguiller)

encore petite question :

j'ai créé un formulaire "contact" dont voici le code de cette page (fonctionne) :

<html>
<head>
<title>Spad - contact</title>
<link href="spad.css" rel="stylesheet" type="text/css" />
<?php
if ($statut == "ok") {
$message = "Votre message nous a bien été envoyé. Merci et à très bientôt.";
} else {
$message = "";
}
?></head>

,

----

,
<table width="760" border="0" align="center" cellpadding="0" cellspacing="3" class="table">
<script language="JavaScript">
// Teste si le mail a une forme correcte
function checkmail(email) {
var reg = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,4}$/
return (reg.exec(email)!=null)
}
// Teste le contenu des champs du form avant submit
function test(civilite,nom,societe,ville,email,message) {
if(civilite.value=="") {
alert("Veuillez indiquer votre civilite."); civilite.focus(); return false;
} else if(nom.value=="") {
alert("Veuillez indiquer votre nom."); nom.focus(); return false;
} else if(prenom.value=="") {
alert("Veuillez indiquer votre prenom."); prenom.focus(); return false;
} else if(numero.value=="") {
alert("Veuillez indiquer votre numéro de téléphone."); numero.focus(); return false;
} else if(!checkmail(email.value)) {
alert("Votre email est incorrect."); email.focus(); return false;
} else if(sujet.value=="") {
alert("Veuillez renseigner l'objet de votre demande !"); sujet.focus(); return false;
} else if(message.value=="") {
alert("Veuillez compléter de votre demande !"); message.focus(); return false;
}
return true;
}
</script><form action="mail.php" method="post" enctype="multipart/form-data" onSubmit="return test(this.civilite,this.nom,this.prenom,this.numero,this.email,this.sujet,this.message)">
----,
\">\">
</td>
,

----

,

----

<?php echo "$message"; ?>,

----

Sécurité Prévention des Accidents Domestiques,
<table width="300" border="0" align="center" cellpadding="0" cellspacing="0">
----, </td>
Bienvenue sur le formulaire de contact


</td>
</tr>
<tr>
<td colspan="4" valign="top" class="menu_passif">

</td>
</tr>

<tr>
<td colspan="4" valign="top" class="menu_passif"><hr /></td>
</tr>
<tr>
<td colspan="4" valign="top" class="menu_passif">
Remplissez ce formulaire en indiquant l'objet de votre demande. Un de nos conseiller vous rappelera au plus vite.
</td>
</tr>
<tr>
<td colspan="4" valign="top" class="menu_passif"><hr /></td>
</tr>
<tr>
<td valign="middle" class="menu_passif">

</td>
<td colspan="3"> </td>
</tr>
<tr>
<td valign="middle" class="menu_passif">
Civilité* :
</td>
<td colspan="3">
<select name="civilite" class="inputs" id="civilite">
<option value="Mr" selected="selected">Mr</option>
<option value="Mme">Mme</option>
<option value="Mlle">Mlle</option>
</select>
</td>
</tr>
<tr>
<td valign="middle" class="menu_passif">
Nom* :
</td>
<td width="194"></td>
<td width="173" class="menu_passif">
Prénom* :
</td>
<td width="323"></td>
</tr>
<tr>
<td valign="middle" class="menu_passif">
Courriel* :
</td>
<td></td>
<td class="menu_passif">
Téléphone* :
</td>
<td></td>
</tr>
<tr>
<td valign="middle" class="menu_passif">
Priorité* :
</td>
<td>
<select name="priority" id="priority" size="1">
<option value="Urgent">Urgent </option>
<option value="Haute">Haute </option>
<option value="Moyenne">Moyenne </option>
<option value="Basse">Basse </option>
<option value="Très basse" selected>Très basse </option>
</select>
</td>
<td class="menu_passif">
Mobile :
</td>
<td></td>
</tr>
<tr>
<td colspan="4" valign="middle" class="menu_passif">

<hr>



</td>
</tr>
<tr>
<td colspan="4" valign="middle" class="menu_passif"><hr></td>
</tr>
<tr>
<td colspan="4" valign="middle" class="menu_passif">Vous souhaitez* :

<table cellspacing=2 cellpadding=1 >
----, </td>
Recevoir une plaquette commerciale,

----

,
Poser une question,

----

,
Demander un devis / expertise,

----

,
Faire une réclamation/suggestion,

----

,
Etre rappelé par un conseillé Spad


</td>
<td width="328">
Concernant la solution* :




,
Détecteurs incendie,

----

,
Détecteurs Monoxyde carbone,

----

,
Installation/intervention,

----

,
Maintenance,

----

,
Echange standard,

----

,
Garantie,

----

,
Partenariat


</td>
</tr>
</table></td>
</tr>
<tr>
<td colspan="4" valign="middle" class="menu_passif"><hr></td>
</tr>

<tr>
<td colspan="4" valign="middle" class="menu_passif">
Votre Message* :
</td>
</tr>
<tr>
<td colspan="4" valign="middle" class="menu_passif"><hr></td>
</tr>
<tr>
<td valign="middle" class="menu_passif">
Objet * :
</td>
<td colspan="3" valign="middle" class="menu_passif"></td>
</tr>
<tr>
<td colspan="4" valign="middle" class="menu_passif">



</td>
</tr>
<tr>
<td valign="middle" class="menu_passif">
Message* :
</td>
<td colspan="3"><textarea name="message" cols="80" rows="5" id="message"></textarea></td>
</tr>
<tr>
<td colspan="4" valign="middle">
<hr>
</td>
</tr>
<tr>
<td colspan="2" valign="middle">
Je désire recevoir la lettre d'information de Spad-nord.fr
</td>
<td>

</td>
<td> </td>
</tr>
<tr>
<td colspan="4" valign="top">

<hr />



</td>
</tr>
<tr>
<td height="26" colspan="4" valign="middle">
Avant de cliquer sur le bouton "Envoyer"

Vérifiez bien que vous avez remplis tout les champs marqués d'une astérix *
</td>
</tr>
<tr>
<td height="26" colspan="4" valign="middle"><hr /></td>
</tr>
<tr>
<td colspan="4" valign="top">

" />


</td>
</tr>
</form>
</table>

</td>
<td width="38" background="images/tab_blanc_trans/largeur_droit2.gif"> </td>
</tr>
<tr>
<td width="35" height="33" background="images/tab_blanc_trans/coin_bas_gauche.gif"> </td>
<td height="33" background="images/tab_blanc_trans/bas.gif"> </td>
<td height="33" background="images/tab_blanc_trans/coin_bas_droit.gif"> </td>
</tr>
</table>

</html>


Avec la class d'envoie, je souhaiterai, une fois ce formulaire rempli et validé (envoyé), recevoir par email le contenu de ce formulaire MAIS INCLUANT LE DESIGN.

voici comment le contenu du mail que je souhaite recevoir :

"<html>
<link href="http://www.spad-nord.fr/spad.css" rel='stylesheet' type='text/css'>,

----

,
<table width='797' border='0' align='center' cellpadding='0' cellspacing='3' class='table'>
----, </td>
Sécurité Prévention des Accidents Domestiques ,
<table width='300' border='0' align='center' cellpadding='0' cellspacing='0'>
----, </td>
www.spad-nord.fr
contact

</td>
</tr>
<tr>
<td colspan='4'align='center'>
$civilite $nom nous a contacté

le $date à $heure
</td>
</tr>
<tr>
<td colspan='4' valign='middle' class='menu_passif'><hr size='1'></td>
</tr>
<tr>
<td colspan='4' valign='middle'>L'ip enregistré pour ce contact est : $ip

</td>
</tr>
<tr>
<td colspan='4' valign='middle'><hr size='1'>

</td>
</tr>
<tr>
<td valign='middle' class='menu_passif'>

</td>
<td colspan='3' valign='middle'> </td>
</tr>
<tr>
<td valign='middle'>Civilité* :

</td>
<td colspan='3' valign='middle' class='menu_passif'>$civilite</td>
</tr>
<tr>
<td valign='middle'>Nom* :

</td>
<td width='194' valign='middle'>$nom

</td>
<td width='213' valign='middle'>Prénom* :

</td>
<td width='284' valign='middle'>$prenom

</td>
</tr>
<tr>
<td valign='middle'>Courriel* :

</td>
<td valign='middle'>$email

</td>
<td valign='middle'>Téléphone* :

</td>
<td valign='middle'> $numero </td>
</tr>
<tr>
<td valign ='middle'>Priorité* :

</td>
<td valign= 'middle'>$priority

</td>
<td valign='middle'>Mobile :

</td>
<td valign='middle'>$mobile

</td>
</tr>
<tr>
<td colspan='4' valign='middle'>


</td>
</tr>
<tr>
<td colspan='4' valign='middle'><hr size='1'>

</td>
</tr>
<tr>
<td colspan='4' valign='middle'>$civilite $nom souhaite:

$type_demande,
Concernant la solution :

$type_produit
</td>
</tr>
<tr>
<td colspan='4' valign='middle'><hr size='1'>

</td>
</tr>

<tr>
<td colspan='4' valign='middle'>Votre Message*

</td>
</tr>
<tr>
<td colspan='4' valign='middle'><hr size='1'>

</td>
</tr>
<tr>
<td valign='middle' >Objet* : </td>
<td colspan='3' valign='middle'>$sujet</td>
</tr>
<tr>
<td colspan='4' valign='middle'></td>
</tr>
<tr>
<td valign='middle'>Message* :

</td>
<td colspan='3' valign='middle'> $message </td>
</tr>
<tr>
<td colspan ='4' valign= 'middle' align='right'><hr size='1'></td>
</tr>
<tr>
<td height='30' colspan='2' valign='middle'> Je désire recevoir la lettre d'information de Spad-nord.fr : </td>
<td valign ='middle'>$newsletter</td>
<td valign= 'middle'> </td>
</tr>
<tr>
<td height='26' colspan='4' valign='middle'> </td>
</tr>
<tr>
<td colspan='4' valign='top'>
</td>
</tr>
</table></td>
<td width ='38' background="http://www.spad-nord.fr/images/tab_blanc_trans/largeur_droit2.gif"> </td>
</tr>
<tr>
<td width='35' height='33' background="http://www.spad-nord.fr/images/tab_blanc_trans/coin_bas_gauche.gif"> </td>
<td height='33' background="http://www.spad-nord.fr/images/tab_blanc_trans/bas.gif"> </td>
<td height='33' background="http://www.spad-nord.fr/images/tab_blanc_trans/coin_bas_droit.gif"> </td>
</tr>
</table></html>

Pourriez vous m'expliquer comment et ou dois je mettre le contenu pour le recevoir dans la page "class_mail.php" (le formulaire portera bien entendu le nom de la class)

est il possible de creer la page reponse (sous dreamweaver), copier-coller le code de cette page (incluant les $contenu du formulaire) dans msg ?


bref je suis completement paumé. pouvez vous m'aider ? merci
cs_Antidote Messages postés 163 Date d'inscription lundi 29 septembre 2003 Statut Membre Dernière intervention 8 mai 2010
17 déc. 2005 à 16:10
zoukozouko >>

Si tu veux je te la passe dans l'état actuelle, mais je suis en train de la modifié ^^ Je met un envoie possible avec mail en socket SMTP dans le cas ou y aurait pas de serveur local. de plus j'y rajoute aussi le POP3 pour le SMTP qui n'accepte le relaie qu'après une auth pop ce qui le paramétrage courant aujourd'hui sinon n'importe quel serveur smtp servirai de relai pour du spam.
Et je prépare par dessus tout ça un petit système qui offre le possibilité d'archiver le mail mais aussi de les enregistrer sur le serveur au lieu de les envoyé directement si on le souhaite, tous les mails serais envoyé ensemble toutes les dix minutes (par une tache cron forcément)

Pourquoi ça ? pour ne faire qu'une auth pop et qu'un connexion smtp avec le serveur. c'est plus rapide et ça évite de saturé le serveur avec de multiple sokect etc...

Mon administrateur ma mis en garde. J'ai un de mes site qui génère 5 mails par seconde. Imaginer le nb de socket. je pense que cette méthode sera très utile à un certain nombre.
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
15 déc. 2005 à 21:14
super, merci, je suis content de voir que ça sert !
themioux Messages postés 45 Date d'inscription dimanche 29 mai 2005 Statut Membre Dernière intervention 14 avril 2011
15 déc. 2005 à 09:23
salut

c'est marrant, j'avais pas cette source dans l'après midi, j'avais mailBySmtp() :D
T'as fais la mise à jour entre temps ?

Bon, je teste la classe, et je te dis si ca marche :D
-------------------------------------------------------
ligne 18, il manque un t à $timeout ($imeout)
-------------------------------------------------------
ENFIN CA MARCHE :DDDDD

Je vais ENFIN pouvoir finir mon projet :DDDDDD (super source en tout cas, il faudra que je l'étudie de près, parce que là, j'ai fais que du copier coller :D)
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
14 déc. 2005 à 16:17
voila comment je le fais chez moi :

$mail=new Mail_();
$mail->set($smtp_serveur);
$mail->setfrom('monmail', 'coucou747');
$a=$mail->send(array($email), array($emailname]), $content, 1, 'sujet', 'HTML');
if ($a[0]===false)
echo 'mail à '.$mail.' impossible à envoyer ! ('.implode($a).')
';
themioux Messages postés 45 Date d'inscription dimanche 29 mai 2005 Statut Membre Dernière intervention 14 avril 2011
14 déc. 2005 à 16:02
En fait, j'ai trouvé le bug... j'ai pas lu la notice et j'ai pas passé un tableau pour la liste des destinataires :P... bref, ca marche mais ca marche pas (même resultat que la fonction mail(), le mail atteint le serveur, le mail est traité par le serveur, mais le mail n'est pas envoyé RHAAAAAAAAA

j'ai essayé avec un autre serveur (je passait par celui de IIS du boulot)
j'ai installé MySMTP sur la machine avec le serveur apache (easyPhp (parce que c'est pas le même serveur O_o) mais MySMTP me réponds
"500 unknown command"
"500 unknown command"
"500 ....."

je regarderai ca demain, c'est l'heure de la débauche :D
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
14 déc. 2005 à 15:52
ah dsl, je croyais avoir répondu à cette question quand j'ai dit : "je croyais que le php était mort", je voulais dire : "je croyais que le php3 était mort", je n'avais pas encore activé verr num...

Bon, avant, je n'étais pas en error_reporting(E_ALL); j'ai corrigé ce bug depuis quelques temps, mais je n'ai pas pris le temps de mettre à jour, je le fais de suite !
themioux Messages postés 45 Date d'inscription dimanche 29 mai 2005 Statut Membre Dernière intervention 14 avril 2011
14 déc. 2005 à 15:34
Je n'ai fais que répondre à un commentaire d'une personne qui se demande pourquoi ca ne marche pas sur sa page...
or elle est hébergée chez free...
donc cette source ne peut pas fonctionner chez free, ou du moins pas avec un serveur smtp dialoguant sur le port 25...

C'est sympa ici, on apporte une information et aussitot on te dit "pourquoi tu dis ca ici"... ben parce que la question a été posée ici...

Sinon, je viens de tester ta source (parce que j'ai un problème avec la fonction mail() sous win) et j'ai un bug ligne 83 : "Warning: Invalid argument supplied for foreach()" ?!?
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
14 déc. 2005 à 15:14
si c'est normal, alors pourquoi tu dis ça ici ?

free est l'un des pires hébergeurs du marché... (php3)
themioux Messages postés 45 Date d'inscription dimanche 29 mai 2005 Statut Membre Dernière intervention 14 avril 2011
14 déc. 2005 à 15:10
-----
sur ma page sa marche pas
http://stabno.free.fr/test.php3
-----

C'est normal, free refuse les communications sur port 25 avec php (enfin du moins c'est ce que j'ai lu récement sur un autre forum)
zoukozouko Messages postés 148 Date d'inscription dimanche 25 janvier 2004 Statut Membre Dernière intervention 21 janvier 2009
17 sept. 2005 à 10:38
Antidote, peux tu poster ta source mail STP?
Merci.
Elle a l'air complete telle que tu la décris...
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
30 juil. 2005 à 15:06
je croyais que le php était mort...
jimymd64 Messages postés 6 Date d'inscription lundi 18 juillet 2005 Statut Membre Dernière intervention 27 octobre 2007
28 juil. 2005 à 22:55
sur ma page sa marche pas
http://stabno.free.fr/test.php3
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
20 juin 2005 à 19:57
ma fonction permet aussi l'accusé de réception, et les pièces jointes...

l'utilité vient du fait qu'on n'a pas partout un serveur smtp pour utiliser la fonction mail...
cs_Antidote Messages postés 163 Date d'inscription lundi 29 septembre 2003 Statut Membre Dernière intervention 8 mai 2010
20 juin 2005 à 19:40
Salut Moi j'ai fais ma propre class email, de un parce que parce que quand tu codes un fonction de 25 paramètres que tu ne rempli pas tout le temps et dont tu ne te souvient pas forcément c'est chiant tout simplement. Mais je reconnais que le principes de la classe n'est pas la même si j'y trouve un avantage certain.

Je considère un email comme un objet, parce qu'il gère de nombreux paramètres, dans ma class on peut ajouter, retirer autant de pièces jointe que l'on veut, images dans l'email, accusé de réception ou pas etc ... par contre je ne gère pas la connexion à un serveur mail, j'utilise simplement la fontion mail() qui me suffit amplement. C'est pour ça que j'arrive à cette question :

L'utilité de ce script ? C'est surement très con et stupide et j'ai surement l'esprit fermé sur certaine ouverture que je ne doit pas voir. Mais pourquoi refaire ce que php sait faire ?
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
14 juin 2005 à 20:12
je te remercie pour ces idées, j'ai cherché sur le site php.net, j'avais pas vu qu'on pouvait ouvrir des connexions SSL, ils n'en parlent pas énormément (un paragraphe...), mais je vais corriger ça.

donc, grace ç la doc que tu m'as filé, (j'ai un nouveau signet), je vais pouvoir complèter ce script pour la partie authentification...
cs_Kevin007 Messages postés 40 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 1 octobre 2006
14 juin 2005 à 19:40
Il faudrait aussi rajouter l'authentification...
Bref, tu as du travail ;)
cs_Kevin007 Messages postés 40 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 1 octobre 2006
14 juin 2005 à 18:21
Désolé pour la mise en page mais PHPCS la gère très mal... :D
cs_Kevin007 Messages postés 40 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 1 octobre 2006
14 juin 2005 à 18:19
Je parlais plutôt d'une fonction retournant la réponse du serveur SMTP à chaque traitement exemple :

Fonction :

function smtp_get_answer()
{

$num_args = func_num_args();
$code_accept = array();

for ( $i = 0; $i < $num_args; $i++ )
{
$argid = func_get_arg( $i );

if ( is_numeric( $argid ) )
{
$code_accept[] = $argid;
}

else
{
return FALSE;
}
}

return TRUE;
}

Après :

$this -> smtp_send_data( 'EHLO ' . $this -> smtp_server_from );

if ( $this -> smtp_get_answer( 250, FALSE ) )
{
$this -> smtp_send_data( 'HELO ' . $this -> smtp_server_from );

if ( !$this -> smtp_get_answer( 250 ) )
{
if ( !$this -> smtp_critical_error )
{
return FALSE;
}

$this -> smtp_error( 'This SMTP server doesn\'t know "EHLO" or "HELO" SMTP command' );
exit;
}
}

Voilà A+ ( merci pour le MP mais je n'ai rien de personnel à te reprocher, juste ta critique genre "Cette source existe des dizaines et des dizaines de fois..." )
cs_babid Messages postés 49 Date d'inscription dimanche 21 septembre 2003 Statut Membre Dernière intervention 17 décembre 2008
14 juin 2005 à 10:25
Je suis d'accord avoir toi sur le principe de class, je ne dis pas "faut pas faire de class par effet de mode...". Pas du tout, je pensai juste que ce serait plus interressant car tu peux créer plusieurs fonctions comme :
- ajout de message en texte brut
- ajout de message en html
- ajout d'image
- ajout d'une ou plusieurs pieces jointes
- utiliser un modele (entete et pied de page)
- utiliser un modele de fond
- ajout un ou plusieurs destinataires cachés ou non
- ajout d'un swf
- ....
Donc tu vois bien que je ne parlais pas d'une class avec une seule petite méthode mais plusieurs méthodes qui permette plus de choses.
Voila, en tout merci pour ta réponse.

Bye
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
14 juin 2005 à 10:06
Pour moi, une class, ce n'est pas quelquechose que l'on peut remplacer facilement par une fonction, ce n'est pas une fonction qui a un grand nombre de paramètres, c'est tout simplement un nouveau type de variable (objets).

En perl, un objet, c'est une table de hash bénit (j'ai jamais fait de perl, mais j'ai lu linux mag), php est dérivé du perl, mais ils n'ont pas le même modèle objet, mais ça ne change rien, un objet, c'est un tas de variable, et des fonctions POUR LES TRAITER, la, les fonctions n'auraient servit qu'a utiliser les variables sans les modifier vraiment (à part message), donc, j'ai fait une fonction et non une class (même si j'ai hésité)...

si j'avais fait une class, je l'aurais appelée Message, et elle aurait permi le dialogue POP3, IMAP, SMTP, et si possible d'autres formes...
il y aurait eu une fonction encodemsg, une fonction decodemsg, et des fonctions d'envoi et de réception, ça c'est un type... Dans les livres sur le C++, on voit souvent des noms communs comme noms de classe, pas des verbes, une class ne doit donc pas faire qu'une seule action...

class Chat{
function Chat($age, $nom){
...
}
function miauler($son){
..
}
function nourrir(){
...
}
var $nom
var $prenom
}

il peut faire plein de choses mon chat, c'est donc un objet, quelquechose qui ne peut faire qu'une chose est une fonction... (un tounre visse est un visseur/dévisseur, il ne peut faire que deux choses, et je ne suis pas sur que ça soit assez pour en faire une class)

faut pas faire de class par effet de mode...
cs_babid Messages postés 49 Date d'inscription dimanche 21 septembre 2003 Statut Membre Dernière intervention 17 décembre 2008
14 juin 2005 à 09:48
Salut,

Excellent, mais petite question pourquoi n'as tu pas créer une class ?? de sorte à utiliser certaines méthodes pour définir les paramètres et d'autres pour utiliser différents types d'envoies (mail, SMTP). Enfin ce n'est qu'un avis, je dois même avoir une class de ce genre mais il faut que je la retrouve, si c'est le cas je vous la mettrai.

Bonne continuation
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
14 juin 2005 à 08:38
dans les commentaires, à la ligne 18, tu vois que le maileur renvoi les différentes étapes de ce que le maileur a dit...

en effet, ligne 73 et 104, tu comprends qu'un tableau est renvoyé avec LES DIFFERENTES PHRASES QUE RENVOI LE SERVEUR !

donc, il ne renvoi pas que la réponse finale.

être critiqué ne me dérange pas, aparement, c'est plutôt moi qui te dérange en expliquant que mon script gère ce que tu demandes (plutôt paradoxal non ?)...

CC est inutile parceque le serveur le prends de la même façon que RCPT TO, la seule différence est dans l'entête du message... c'est en fait la même chose que RCPT TO... c'est juste le logiciel de réception qui les différencie.

pour mon while, j'ai mis des parenthèses en trop, c'est pas grave, mais je corrigerais. Cette fonction prends une chaine et une longueur en argument, elle est appelée quand on veut envoyer un fichier joint, elle permet de couper le fichier en lignes de 72 caractères. J'aurais pu prendre en considération les retours naturels à la ligne, mais comme le fichier subbit avant un encodage en 64 bits, on n'en a pas besoin.

pour EHLO, je n'avais jamais entendu parler de cette commande, je m'excuses d'avoir nié son existance, mais je ne pourrais pas la mettre en place, je n'ai aucun serveur qui accèpte cette commande... aucun test possible...
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
14 juin 2005 à 08:03
Hello Coucou,

Alors comme ca la commande EHLO n'existe pas...

http://www.sourcekeg.co.uk/www.python.org/doc/2.2.3/lib/SMTP-objects.html:

helo([hostname])
Identify yourself to the SMTP server using "HELO". The hostname argument defaults to the fully qualified domain name of the local host.
In normal operation it should not be necessary to call this method explicitly. It will be implicitly called by the sendmail() when necessary.

ehlo([hostname])
Identify yourself to an ESMTP server using "EHLO". The hostname argument defaults to the fully qualified domain name of the local host. Examine the response for ESMTP option and store them for use by has_option().
Unless you wish to use has_option() before sending mail, it should not be necessary to call this method explicitly. It will be implicitly called by sendmail() when necessary.

hehe ;o)
cs_Kevin007 Messages postés 40 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 1 octobre 2006
14 juin 2005 à 08:00
Je vois que tu aimes critiquer les autres mais pas être critiqué...

Quand je parle de réponse du serveur, je ne parle pas de la REPONSE FINALE mais d'une réponse étape par étape...

A bon entendeur salut ;)
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
14 juin 2005 à 04:13
D'après toi, pourquoi CC est inutile ?
while(($a=substr($str,0,$l))) est un peu ambigue
Ca s'rait cool d'avoir les specs :)
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
13 juin 2005 à 21:12
La commande EHLO n'existe pas, or, la commande HELO fonctionne partout...

la réponse du serveur est prise en compte, si tu regardes ce qu'a renvoyé la fonction...
cs_Kevin007 Messages postés 40 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 1 octobre 2006
13 juin 2005 à 20:54
Salut,

La source a l'air pas mal :D bravo mais deux points importants :

_ As-tu pensé à la commande EHLO remplaçant la commande HELO sur certains serveurs ?

_ As-tu aussi pensé à la réponse du serveur avec ses codes ?

Bonne continuation pour la suite :P
Rejoignez-nous