| Qui est en ligne ? |
| Il y a : 16 utilisateurs en ligne, consultez le détail |
Forum » Serveur, Réseaux et Programmation » PHP: Envois de mail en fontion d'une société |
Forum modéré par : jblecanard |
| Même auteur |
|
Score ( voter ) : |
|
| Page : 1 [2] |
| Auteur | Message |
|---|---|
|
|
#16 Message posté le : 23-10-2007 à 12:24:30 |
Jedi Forum : Modérateur Association : Membre fondateur Arrivé(e) le : 08-01-2005 Nombre de messages : 4030 |
Non pas du tout. Mais print_r affiche aussi un indice "0" avec un tableau associatif, je ne sais pas trop pourquoi. Sinon lecharcutier, tu peux parfaitement travailler cette valeur comme une autre, et utiliser switch dessus. C'est une variable comme les autres au détail près qu'elle est dans un tableau. Et si ça te gène, rien ne t'empêche de faire un $societe=$tableau["societe"]; pour travailler sa valeur. ------------------------------------- C'est une situation bien inconfortable que d'être assez sensible à la bêtise pour en souffrir et trop intelligent pour s'en indigner. - Gustave Thibon - |
|
|
#17 Message posté le : 23-10-2007 à 12:47:57 |
Scarabée Forum : Inscrit Association : Arrivé(e) le : 27-01-2003 Nombre de messages : 530 |
OK merci bcp JB, c'est exactement ce que je voulais savoir. Maintenant je peux me débrouiller pour le reste, Merci merci! ------------------------------------- Le BOF de Linux: LFS & Slack (ça fait + pro).Les RPM c'est pour les tapettes!Sexe : 38 centimetres, "Linux rulezzzz",Recompilations:167,Recompilations utiles:0. |
|
|
#18 Message posté le : 23-10-2007 à 18:12:32 |
Naboo Forum : Modérateur Association : Président Arrivé(e) le : 09-04-2006 Nombre de messages : 2085 |
Ok, je me demandais si 0 n'était pas le numéro de ligne... en fait ça doit être que tu peux utiliser indifféremment 0 ou "societe". ------------------------------------- toto |
|
|
#19 Message posté le : 23-10-2007 à 22:56:12 |
Jedi Forum : Modérateur Association : Membre fondateur Arrivé(e) le : 08-01-2005 Nombre de messages : 4030 |
C'est ça ! PHP te permet, même si c'est un tableau associatif, de le parcourir via les indexs numériques. Mais c'est assez déconseillé, ce n'est pas très propre... ------------------------------------- C'est une situation bien inconfortable que d'être assez sensible à la bêtise pour en souffrir et trop intelligent pour s'en indigner. - Gustave Thibon - |
|
|
#20 Message posté le : 20-11-2007 à 13:52:58 |
Scarabée Forum : Inscrit Association : Arrivé(e) le : 27-01-2003 Nombre de messages : 530 |
Je me remets dessus après une période d'inactivité, qqun peut il me dire si la synatxe de mon dernier post est utilisable telle qu'elle? ------------------------------------- Le BOF de Linux: LFS & Slack (ça fait + pro).Les RPM c'est pour les tapettes!Sexe : 38 centimetres, "Linux rulezzzz",Recompilations:167,Recompilations utiles:0. |
|
|
#21 Message posté le : 20-11-2007 à 15:02:03 |
Jedi Forum : Modérateur Association : Membre fondateur Arrivé(e) le : 08-01-2005 Nombre de messages : 4030 |
Elle l'est si tu n'oublies pas les ":" après les case. Je marque aussi en non résolu du coup... ------------------------------------- C'est une situation bien inconfortable que d'être assez sensible à la bêtise pour en souffrir et trop intelligent pour s'en indigner. - Gustave Thibon - |
|
|
#22 Message posté le : 20-11-2007 à 15:25:16 |
Scarabée Forum : Inscrit Association : Arrivé(e) le : 27-01-2003 Nombre de messages : 530 |
Merci JB, c'est bon j'ai réussi. Le dernier truc queje dois faire au niveau de mon cahier de charge est l'envoi de la pièce jointe. J'ai parcouru le WEB pour trouver une solution mais elles ne sont pas applicable dans mon cas. Je m'explique: -J'ai une page WEB avec un formulaire, 3 possibilité de société. -La racine de mon site web est sous Windows dans C:\Programs Files\Easyphp\www\ -3 fichiers excel se trouvent à la racine du site: "peugeot.xls", "renault.xls", "citroen.xls". -Je voudrais qu'une fois le formulaire validé, je puisse être en mesure d'nevoyer le fichier excel de la société correspondante. Impossible de trouver comment faire car en général les exemples parte d'un formulaire où c'est l'utilisateur qui ajoute le fichier (bouton "parcouri", valider...) Or dans mon cas le fichier est déja sur le serveur, je voudrais simplement l'envoyer?! Qqun a t'il une idée? Désolé pour la réponse tardive, j'étais pris sur autre chose. D'avance merci ------------------------------------- Le BOF de Linux: LFS & Slack (ça fait + pro).Les RPM c'est pour les tapettes!Sexe : 38 centimetres, "Linux rulezzzz",Recompilations:167,Recompilations utiles:0. |
|
|
#23 Message posté le : 20-11-2007 à 15:44:38 |
Jedi Forum : Modérateur Association : Membre fondateur Arrivé(e) le : 08-01-2005 Nombre de messages : 4030 |
La méthode ici Ce n'est pas compliqué si on s'applique. Ca aurait été pareil si les gens devaient envoyer le fichier : il aurait fallu le stocker temporairement sur le serveur puis l'envoyer. --Message édité par jblecanard le 20-11-2007 à 15:48:18-- ------------------------------------- C'est une situation bien inconfortable que d'être assez sensible à la bêtise pour en souffrir et trop intelligent pour s'en indigner. - Gustave Thibon - |
|
|
#24 Message posté le : 21-11-2007 à 10:37:27 |
Scarabée Forum : Inscrit Association : Arrivé(e) le : 27-01-2003 Nombre de messages : 530 |
Salut JB, Merci pour le lien, cependant j'ai des souçis, voila le code que j'ai utilisé: $boundary='didondinaditondelosdudosdodudundodudindon'; $headers="From: mouvement.personnel@groupe.com\r\n MIME-Version: 1.0\r\n Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n\n"; $body="--". $boundary ."\n Content-Type: text/plain; charset=ISO-8859-1\r\n\n Nouvelle arrivée dans votre section, Fiche à remplir.\n\n"; $fichier=file_get_contents('./fiche.xls'); $fichier=chunk_split( base64_encode($fichier) ); $body = $body . "--" .$boundary. "\n Content-Type: application/vnd.ms-excel; name=\"fiche.xls\"\r\n Content-Transfer-Encoding: base64\r\n Content-Disposition: attachment; filename=\"fiche.xls\"\r\n\n $fichier"; $body = $body . "--" . $boundary ."--"; mail($destinataire_fiche, "Fiche de renseignement", $body, $headers); C'est un fichier excel que je souhaite envoyé fiche.xls. Le fichier part bien mais je recois ça n'importe comment dans ma messagerie, déja le fichier arrive en tant que ATT0048.TXT au lieu de fiche.xls. Ensuite le contenu du fichier TXT au lieu de XLS est un peu bizarre: Content-Type: application/vnd.ms-excel; name="fiche.xls" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="fiche.xls" 0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAA EAAAPQAAAAEAAAD+////AAAAAAAAAAD///////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////9 ////PwAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8A AAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAA AB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAA LAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6 AAAAOwAAADwAAAD+/////v///0AAAAD+/////v////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////1IA bwBvAHQAIABFAG4AdAByAHkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAWAAUA//////////8CAAAAIAgCAAAAAADAAAAAAAAARgAAAAAAAAAAAAAAAJBxmFt+K8gB PgAAAIACAAAAAAAAVwBvAHIAawBiAG8AbwBrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAABIAAgEEAAAA//////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAACAAAAJ3QAAAAAAAAFAFMAdQBtAG0AYQByAHkASQBuAGYAbwByAG0AYQB0 AGkAbwBuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAACAQEAAAADAAAA/////wAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAUARABvAGMAdQBtAGUAbgB0 AFMAdQBtAG0AYQByAHkASQBuAGYAbwByAG0AYQB0AGkAbwBuAAAAAAAAAAAAAAA4AAIB//////// ////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAPwAAAAAAAAACQgQ AAAGBQCpH80HyQABAAYEAADhAAIAsATBAAIAAADiAAAAXABwAAIAAE1HICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCAAIAsARhAQIAAADAAQAAPQECAAEA ugEPAAwAAFRoaXNXb3JrYm9va5wAAgAQABkAAgAAABIAAgAAABMAAgAAAK8BAgAAALwBAgAAAD0A EgBoAfAAXDrBIDgAAAAAAAEAWAJAAAIAAACNAAIAAAAiAAIAAAAOAAIAAQC3AQIAAADaAAIAAAAx ACoAyAAAAP9/kAEAAAAAAAANAU0AUwAgAFMAYQBuAHMAIABTAGUAcgBpAGYAMQAqAMgAAAD/f5AB AAAAAAAADQFNAFMAIABTAGEAbgBzACAAUwBlAHIAaQBmADEAKgDIAAAA/3+QAQAAAAAAAA0BTQBT ACAAUwBhAG4AcwAgAFMAZQByAGkAZgAxACoAyAAAAP9/kAEAAAAAAAANAU0AUwAgAFMAYQBuAHMA IABTAGUAcgBpAGYAMQAoAMgABAAMAJABAAABAAAADAFBAHIAaQBhAGwAIABOAGEAcgByAG8AdwAx ACoAyAAEACQAkAEAAAEAAAANAU0AUwAgAFMAYQBuAHMAIABTAGUAcgBpAGYAMQAqABgBAAD/f5AB AAAAAAAADQFNAFMAIABTAGEAbgBzACAAUwBlAHIAaQBmADEAKgAYAQEA/3+8AgAAAAAAAA0BTQBT ACAAUwBhAG4AcwAgAFMAZQByAGkAZgAxACoA8AABAP9/vAIAAAAAAAANAU0AUwAgAFMAYQBuAHMA IABTAGUAcgBpAGYAMQAqAPAAAAD/f5ABAAAAAAAADQFNAFMAIABTAGEAbgBzACAAUwBlAHIAaQBm ADEAGgDIAAAA/3+QAQAAAAIAAAUBQQByAGkAYQBsADEAGgDIAAEA/3+8AgAAAAIAAAUBQQByAGkA YQBsADEAGgDwAAAA/3+QAQAAAAIAAAUBQQByAGkAYQBsADEAKgDIAAEA/3+8AgAAAAIAAA0BTQBT ACAAUwBhAG4AcwAgAFMAZQByAGkAZgAxACoAyAAAAP9/kAEAAAACAAANAU0AUwAgAFMAYQBuAHMA IABTAGUAcgBpAGYAMQAqAMgABQD/f7wCAAABAgAADQFNAFMAIABTAGEAbgBzACAAUwBlAHIAaQBm ADEAHgBoAQEAOAC8AgAAAAIAYgcBQwBhAG0AYgByAGkAYQAxAB4ALAEBADgAvAIAAAACAGIHAUMA YQBsAGkAYgByAGkAMQAeAAQBAQA4ALwCAAAAAgBiBwFDAGEAbABpAGIAcgBpADEAHgDcAAEAOAC8 AgAAAAIAYgcBQwBhAGwAaQBiAHIAaQAxAB4A3AAAABEAkAEAAAACAGIHAUMAYQBsAGkAYgByAGkA MQAeANwAAAAUAJABAAAAAgBiBwFDAGEAbABpAGIAcgBpADEAHgDcAAAAPACQAQAAAAIAYgcBQwBh AGwAaQBiAHIAaQAxAB4A3AAAAD4AkAEAAAACAGIHAUMAYQBsAGkAYgByAGkAMQAeANwAAQA/ALwC AAAAAgBiBwFDAGEAbABpAGIAcgBpADEAHgDcAAEANAC8AgAAAAIAYgcBQwBhAGwAaQBiAHIAaQAx AB4A3AAAADQAkAEAAAACAGIHAUMAYQBsAGkAYgByAGkAMQAeANwAAQAJALwCAAAAAgBiBwFDAGEA bABpAGIAcgBpADEAHgDcAAAACgCQAQAAAAIAYgcBQwBhAGwAaQBiAHIAaQAxACoAyAAAAP9/kAEA AAAAAGINAU0AUwAgAFMAYQBuAHMAIABTAGUAcgBpAGYAMQAeANwAAgAXAJABAAAAAgBiBwFDAGEA bABpAGIAcgBpADEAHgDcAAEACAC8AgAAAAIAYgcBQwBhAGwAaQBiAHIAaQAxAB4A3AAAAAkAkAEA AAACAGIHAUMAYQBsAGkAYgByAGkAMQAeANwAAAAIAJABAAAAAgBiBwFDAGEAbABpAGIAcgBpAB4E MwAFABcAASMALAAjACMAMABcACAAIgCsICIAOwBcAC0AIwAsACMAIwAwAFwAIAAiAKwgIgAeBD0A BgAcAAEjACwAIwAjADAAXAAgACIArCAiADsAWwBSAGUAZABdAFwALQAjACwAIwAjADAAXAAgACIA rCAiAB4EPwAHAB0AASMALAAjACMAMAAuADAAMABcACAAIgCsICIAOwBcAC0AIwAsACMAIwAwAC4A MAAwAFwAIAAiAKwgIgAeBEkACAAiAAEjACwAIwAjADAALgAwADAAXAAgACIArCAiADsAWwBSAGUA ZABdAFwALQAjACwAIwAjADAALgAwADAAXAAgACIArCAiAB4EcQAqADYAAV8ALQAqACAAIwAsACMA Erf........ As-tu une idée? ------------------------------------- Le BOF de Linux: LFS & Slack (ça fait + pro).Les RPM c'est pour les tapettes!Sexe : 38 centimetres, "Linux rulezzzz",Recompilations:167,Recompilations utiles:0. |
|
|
#25 Message posté le : 21-11-2007 à 11:54:10 |
Jedi Forum : Modérateur Association : Membre fondateur Arrivé(e) le : 08-01-2005 Nombre de messages : 4030 |
Ce qui est sûr, c'est que le contenu de ton fichier texte est simplement le binaire du XLS affiché en caractères. Essaye de l'ouvrir en le renommant .xls, juste pour voir... ------------------------------------- C'est une situation bien inconfortable que d'être assez sensible à la bêtise pour en souffrir et trop intelligent pour s'en indigner. - Gustave Thibon - |
|
|
#26 Message posté le : 21-11-2007 à 13:18:12 |
Scarabée Forum : Inscrit Association : Arrivé(e) le : 27-01-2003 Nombre de messages : 530 |
Ca marche pas, il me dit fichier endommagé. J'ai l'impression qu'y'a qqchose qui foire au niveau des mime, faut il modifier apache ou php pour prendre en compte ce genre de truc? C'est bien php, juste dommage que la fonction mail soit "oubliée" pour les pièces jointes. ------------------------------------- Le BOF de Linux: LFS & Slack (ça fait + pro).Les RPM c'est pour les tapettes!Sexe : 38 centimetres, "Linux rulezzzz",Recompilations:167,Recompilations utiles:0. |
|
|
#27 Message posté le : 21-11-2007 à 15:57:06 |
Jedi Forum : Modérateur Association : Membre fondateur Arrivé(e) le : 08-01-2005 Nombre de messages : 4030 |
Bon je suis en train de faire des tests et effectivement ça marche pas avec cette méthode. Je vais voir si j'arrive à la corriger et te tiens au courant... Edit : Il y aussi une méthode ocmplète et plus claire ici. Je vais la tester. --Message édité par jblecanard le 21-11-2007 à 15:58:20-- ------------------------------------- C'est une situation bien inconfortable que d'être assez sensible à la bêtise pour en souffrir et trop intelligent pour s'en indigner. - Gustave Thibon - |
|
|
#28 Message posté le : 21-11-2007 à 16:09:10 |
Jedi Forum : Modérateur Association : Membre fondateur Arrivé(e) le : 08-01-2005 Nombre de messages : 4030 |
Bon, j'ai réussi ! Avec la deuxième méthode, mais corrigée, car il y a une erreur dedans. Voici un code qui fonctionne avec une image PNG : Attention à ce code : il utilise des simple quotes au lieu des doubles, ce qui signifie qu'on ne peut pas utiliser la notation $nomdevariable en plein de milieu de la chaîne.
<?php
$destinataire='moi@myriam';
$email_expediteur='moi@myriam';
$email_reply='moi@myriam';
$message_texte='Bonjour,'."\n\n".'Voici un message au format texte';
$message_html='<html>
<head>
<title>Titre</title>
</head>
<body>Test de message</body>
</html>';
//-----------------------------------------------
//GENERE LA FRONTIERE DU MAIL ENTRE TEXTE ET HTML
//-----------------------------------------------
$frontiere = '-----=' . md5(uniqid(mt_rand()));
//-----------------------------------------------
//HEADERS DU MAIL
//-----------------------------------------------
$headers = 'From: "Nom" <'.$email_expediteur.'>'."\n";
$headers .= 'Return-Path: <'.$email_reply.'>'."\n";
$headers .= 'MIME-Version: 1.0'."\n";
$headers .= 'Content-Type: multipart/mixed; boundary="'.$frontiere.'"';
//-----------------------------------------------
//MESSAGE TEXTE
//-----------------------------------------------
$message = 'This is a multi-part message in MIME format.'."\n\n";
$message .= '--'.$frontiere."\n";
$message .= 'Content-Type: text/plain; charset="iso-8859-1"'."\n";
$message .= 'Content-Transfer-Encoding: 8bit'."\n\n";
$message .= $message_texte."\n\n";
//-----------------------------------------------
//MESSAGE HTML
//-----------------------------------------------
$message .= '--'.$frontiere."\n";
$message .= 'Content-Type: text/html; charset="iso-8859-1"'."\n";
$message .= 'Content-Transfer-Encoding: 8bit'."\n\n";
$message .= $message_html."\n\n";
$message .= '--'.$frontiere."\n";
//-----------------------------------------------
//PIECE JOINTE
//-----------------------------------------------
$message .= 'Content-Type: image/png; name="Tux.png"'."\n";
$message .= 'Content-Transfer-Encoding: base64'."\n";
$message .= 'Content-Disposition:attachement; filename="Tux.png"'."\n\n";
$message .= chunk_split(base64_encode(file_get_contents('Tux.png')))."\n";
if(mail($destinataire,"test de pièce jointe",$message,$headers))
{
echo 'Le mail a été envoyé';
}
else
{
echo 'Le mail n\'a pu être envoyé';
}
?>
Avec en bonus la méthode un un double mail HTML/Texte. --Message édité par jblecanard le 21-11-2007 à 16:15:21-- ------------------------------------- C'est une situation bien inconfortable que d'être assez sensible à la bêtise pour en souffrir et trop intelligent pour s'en indigner. - Gustave Thibon - |
|
|
#29 Message posté le : 22-11-2007 à 10:24:36 |
Scarabée Forum : Inscrit Association : Arrivé(e) le : 27-01-2003 Nombre de messages : 530 |
Je sais pas encore comment t'as trouvé mais sça fonctionne. Vraiment merci beaucoup! Grace a toi j'ai fini mon intranet!! Merci encore ------------------------------------- Le BOF de Linux: LFS & Slack (ça fait + pro).Les RPM c'est pour les tapettes!Sexe : 38 centimetres, "Linux rulezzzz",Recompilations:167,Recompilations utiles:0. |
| Page : 1 [2] |
Forum » Serveur, Réseaux et Programmation » PHP: Envois de mail en fontion d'une société |
Forum modéré par : jblecanard |
| Même auteur |
|
Score ( voter ) : |
|
- Petit scarabée : 0 pastille, moins de 100 messages
- Scarabée : 0 pastille, plus de 100 messages
- Hobbit : 1 pastille, plus de 1000 messages
- Naboo : 2 pastilles, plus de 2000 messages
- Elfe : 3 pastilles, plus de 3000 messages
- Jedi : 4 pastilles, plus de 4000 messages
- Maître Jedi : 5 pastilles, plus de 5000 messages