Fonction mail en PHP et le return path obligatoire pour oleane quel syntaxe?
Bonjour,
Mon script PHP en local fonctionne mais pas chez l'hébergeur ?
Voici le script exemple que me propose orange en me disant que le return path est obligatoire sur le serveur :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
<?php
$headers ='From: "Essai OBH"<test@oleane-hebergement.com>'."\n";
$headers .='Return-Path: test@oleane-hebergement.com'."\n";
$headers .='Reply-To: test@oleane-hebergement.com'."\n";
$headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';
if(mail('test@oleane-hebergement.com', 'test', 'message avec
enveloppe complete', $headers))
{
echo 'Le message a bien été envoyé';
}
else
{
echo 'Le message n\'a pu être envoyé';
}
?> |
Je reprends alors leur code pour adapter le mien à mon formulaire :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
<?php
/* Récupération des valeurs des champs du formulaire */
$Nom = $_POST['Nom'];
$Prenom = $_POST['Prenom'];
$Email = $_POST['Email'];
$Telephone = $_POST['Telephone'];
$Objet = $_POST['Objet'];
$Message = $_POST['Message'];
/* Destinataire (votre adresse e-mail) */
$to = "moi@moi.net";
/* Construction du message */
$msg = "Bonjour,"."\r\n\r\n";
$msg .= "Ce mail a été envoyé depuis moi.com par ".$Nom." ".$Prenom."\r\n\r\n";
$msg .= "L'Email de la personne est : ".$Email. "\r\n";
$msg .= "Le numéro de Téléphone de la personne est : ".$Telephone. "\r\n";
$msg .= "L'Objet du message est :".$Objet. "\r\n";
$msg .= "Voici le message qui vous est adressé :"."\r\n";
$msg .= "***************************"."\r\n";
$msg .= $Message."\r\n";
$msg .= "***************************"."\r\n";
/* En-têtes de l'e-mail */
$headers = "From: ".$Nom." <".$Email.">"."\n";
$headers .='Return-Path: ".$Email."\n";
$headers .='Reply-To:".$Email."\n";
$headers .='Content-Type: text/plain; charset="iso-8859-1'."\n";
$headers .='Content-Transfer-Encoding: 8bit';
/* Envoi de l'e-mail */
mail($to, $Objet, $msg, $headers); |
Mais voilà => ça marche pas !
J'ai fais une erreur de syntaxe??
Je n'ai pas de message d'erreur, tout se passe bien comme si l'email était bien parti.
Cependant je ne reçois rien ; aucun email ;
Je sais que je n'ai pas mis de message d'erreur pouvant soulever le non envoi du mail ; mais je voulais réduire le script à sa plus simple expression pour comprendre d'où vient l'erreur mais je ne voit pas!!
D'autant plus qu'en local, avec le même script tout fonctionne très bien, à la différence qu'avec wamp, j'initialise mon php.ini et j'ajoute dans mon script php la fonction ini_set pour forcer le smtp de mon opérateur.
en un mot HELP
Merci beaucoup d'avance
Pièce jointe n'arrive pas non plus?
J'ai crié victoire trop vite
:-(
dslé
Alors dans le même genre, j'ai effectué un formulaire pour charger des pièce jointe en local ça marche et pas chez l'herbergeur!
Mais la je pense avoir fait attention à la syntaxe !
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
<?php
/*----------------------------------------------------------------*/
/* Envoie du mail avec les pièces jointes qui ont été uploadées */
/*----------------------------------------------------------------*/
/* Récupération des valeurs des champs du formulaire */
$Email = $_POST['Email'];
$Objet = $_POST['Objet'];
$LM = $_POST['LM'];
$CV = $_POST['CV'];
// To
$to = "soua@laposte.net";
/* En-têtes de l'e-mail */
$headers = "From: "." <".$Email.">"."\r\n\r\n";
// clé aléatoire de limite
$boundary = md5(uniqid(microtime(), TRUE));
// Headers
$headers = "From: "." <".$Email.">"."\r\n\r\n";
$headers .='Return-Path: '.$Email."\n";
$headers .='Reply-To: '.$Email."\n";
$headers .= 'Mime-Version: 1.0'."\r\n";
$headers .= 'Content-Type: multipart/mixed;boundary='.$boundary."\r\n";
$headers .= "\r\n";
/* Construction du message */
$msg = "Bonjour, "."\r\n\r\n";
$msg .= "Ce mail a été envoyé depuis moi.com "."\r\n\r\n";
$msg .= "L Email de la personne est : ".$Email. "\r\n";
$msg .= "L Objet du message est :".$Objet. "\r\n";
$msg .= "Un message avec une pièce jointe"."\r\n";
// Message
$msg = 'This is a multipart/mixed message.'."\r\n\r\n";
// Texte
$msg .= '--'.$boundary."\r\n";
$msg .= 'Content-type:text/plain;charset=utf-8'."\r\n";
$msg .= 'Content-transfer-encoding:8bit'."\r\n";
// Pièce jointe LM
$file_name = $LM;
if (file_exists($file_name))
{
$file_type = filetype($file_name);
$file_size = filesize($file_name);
$handle = fopen($file_name, 'r') or die('File '.$file_name.'can t be open');
$content = fread($handle, $file_size);
$content = chunk_split(base64_encode($content));
$f = fclose($handle);
$msg .= '--'.$boundary."\r\n";
$msg .= 'Content-type:'.$file_type.';name='.$file_name."\r\n";
$msg .= 'Content-transfer-encoding:base64'."\r\n";
$msg .= $content."\r\n";
}
// Pièce jointe CV
$file_name = $CV;
if (file_exists($file_name))
{
$file_type = filetype($file_name);
$file_size = filesize($file_name);
$handle = fopen($file_name, 'r') or die('File '.$file_name.'can t be open');
$content = fread($handle, $file_size);
$content = chunk_split(base64_encode($content));
$f = fclose($handle);
$msg .= '--'.$boundary."\r\n";
$msg .= 'Content-type:'.$file_type.';name='.$file_name."\r\n";
$msg .= 'Content-transfer-encoding:base64'."\r\n";
$msg .= $content."\r\n";
}
// Fin
$msg .= '--'.$boundary."\r\n";
$Objet2 = "Poste demandé par moi.COM: ".$Objet."\r\n";
// Function mail()
mail($to, $Objet2, $msg, $headers);
?> |
Je vois pas pourquoi en local ça marche et pas chez mon hebergeur?
Merci d'avance pour votre aide
Pas de retour d'erreurs mais le mail avec pièce jointe n'arrive pas
Re Eric2a
J'ai suivi tes conseils et corrigé mais toujours la même chose pas de réception de mail et pas d'erreur en retour...
Je ne vois pas quoi faire
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
|
<?php
/*----------------------------------------------------------------*/
/* Envoie du mail avec les pièces jointes qui ont été uploadées */
/*----------------------------------------------------------------*/
/* Récupération des valeurs des champs du formulaire */
$Email = $_POST['Email'];
$Objet = $_POST['Objet'];
$LM = $_POST['LM'];
$CV = $_POST['CV'];
// To
$to = "soua@laposte.net";
/* En-têtes de l'e-mail */
$headers = "From: "." <".$Email.">"."\r\n\r\n";
// clé aléatoire de limite
$boundary = md5(uniqid(microtime(), TRUE));
// Headers
$headers = "From: "." <".$Email.">"."\r\n\r\n";
$headers .='Return-Path: '.$Email."\n";
$headers .='Reply-To: '.$Email."\n";
$headers .= 'Mime-Version: 1.0'."\r\n";
$headers .= 'Content-Type: multipart/mixed;boundary='.$boundary."\r\n";
$headers .= "\r\n";
/* Construction du message */
$msg = 'This is a multipart/mixed message.'."\r\n\r\n";
$msg .= "Bonjour, "."\r\n\r\n";
$msg .= "Ce mail a été envoyé depuis moi.com "."\r\n\r\n";
$msg .= "L Email de la personne est : ".$Email. "\r\n";
$msg .= "L Objet du message est :".$Objet. "\r\n";
$msg .= "Un message avec une pièce jointe"."\r\n";
// Texte
$msg .= '--'.$boundary."\r\n";
$msg .= 'Content-type:text/plain;charset=utf-8'."\r\n";
$msg .= 'Content-transfer-encoding:8bit'."\r\n";
// Pièce jointe LM
$file_name = $LM;
if (file_exists($file_name))
{
$file_type = filetype($file_name);
$file_size = filesize($file_name);
$handle = fopen($file_name, 'r') or die('File '.$file_name.'can t be open');
$content = fread($handle, $file_size);
$content = chunk_split(base64_encode($content));
$f = fclose($handle);
$msg .= '--'.$boundary."\r\n";
$msg .= 'Content-type:'.$file_type.';name='.$file_name."\r\n";
$msg .= 'Content-transfer-encoding:base64'."\r\n";
$msg .= $content."\r\n";
}
// Pièce jointe CV
$file_name = $CV;
if (file_exists($file_name))
{
$file_type = filetype($file_name);
$file_size = filesize($file_name);
$handle = fopen($file_name, 'r') or die('File '.$file_name.'can t be open');
$content = fread($handle, $file_size);
$content = chunk_split(base64_encode($content));
$f = fclose($handle);
$msg .= '--'.$boundary."\r\n";
$msg .= 'Content-type:'.$file_type.';name='.$file_name."\r\n";
$msg .= 'Content-transfer-encoding:base64'."\r\n";
$msg .= $content."\r\n";
}
// Fin
$msg .= '--'.$boundary."--\r\n";
$Objet2 = "Poste demandé par SOUASOUA.COM: ".$Objet."\r\n";
// Function mail()
mail($to, $Objet2, $msg, $headers);
?> |
Je ne comprends pas pourquoi ce script ne fonctionne pas??
Je devrais recevoir mon email avec mes deux pièces jointes...
Merci de votre aide
Je reçois l email sans les pièces jointes en ayant modifié mon CODE
Re Bonjour!
J'ai repris légèrement mon Code :
- En Local avec wamp tout est nickel ça marche parfaitement bien, je reçois l'email et les pièces jointes
- Mais en étant hebergé chez orange, je reçois juste l'email sans les pièces jointes.
Par contre ce qui me surprend c'est que dans mon système de messagerie j'ai bien une indication avec l'épingle qui indique qu'il y a des pièces jointes. Pourtant y a rien.
Voici le CODE :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
|
<?php
/*----------------------------------------------------------------*/
/* Envoie du mail avec les pièces jointes qui ont été uploadées */
/*----------------------------------------------------------------*/
/* Récupération des valeurs des champs du formulaire */
$Email = $_POST['Email'];
$Objet = $_POST['Objet'];
$LM = $_POST['LM'];
$CV = $_POST['CV'];
// To
$to = "moi@laposte.net";
// clé aléatoire de limite
$boundary = md5(uniqid(microtime(), TRUE));
/* En-têtes de l'e-mail */
$headers = "From: "." <".$Email.">"."\r\n";
$headers .='Return-Path: '.$Email."\n";
$headers .='Reply-To: '.$Email."\n";
$headers .='Content-Transfer-Encoding: 8bit';
//$headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
$headers .= 'Mime-Version: 1.0'."\r\n";
$headers .= 'Content-Type: multipart/mixed;boundary='.$boundary."\r\n";
$headers .= "\r\n";
// Message
$msg = 'This is a multipart/mixed message.'."\r\n\r\n";
/* Construction du message */
$msg .= '--'.$boundary."\r\n";
$msg .= 'Content-type:text/plain;charset=utf-8'."\r\n";
$msg .= 'Content-transfer-encoding:8bit'."\r\n";
$msg .= "Bonjour, "."\r\n";
$msg .= "Ce mail a ete envoye depuis moi.com "."\r\n";
$msg .= "L Email de la personne est : ".$Email. "\r\n";
$msg .= "L Objet du message est : le poste recherche est le suivant :".$Objet. "\r\n";
$msg .= "Un message avec une piece jointe"."\r\n";
// Pièce jointe
$file_name = $LM;
if (file_exists($file_name))
{
$file_type = filetype($file_name);
$file_size = filesize($file_name);
$handle = fopen($file_name, 'r') or die('File '.$file_name.'can t be open');
$content = fread($handle, $file_size);
$content = chunk_split(base64_encode($content));
$f = fclose($handle);
$msglm = '--'.$boundary."\r\n";
$msglm .= 'Content-type:'.$file_type.';name='.$file_name."\r\n";
$msglm .= 'Content-transfer-encoding:base64'."\r\n";
$msglm .= $content."\r\n";
}
$file_name = $CV;
if (file_exists($file_name))
{
$file_type = filetype($file_name);
$file_size = filesize($file_name);
$handle = fopen($file_name, 'r') or die('File '.$file_name.'can t be open');
$content = fread($handle, $file_size);
$content = chunk_split(base64_encode($content));
$f = fclose($handle);
$msgcv = '--'.$boundary."\r\n";
$msgcv .= 'Content-type:'.$file_type.';name='.$file_name."\r\n";
$msgcv .= 'Content-transfer-encoding:base64'."\r\n";
$msgcv .= $content."\r\n";
}
// Fin
$msgfin = '--'.$boundary."\r\n";
$msgt=$msg.$msglm.$msgcv.$msgfin;
$Objet2 = "Poste demande par moi.COM: ".$Objet."\r\n";
// Function mail()
mail($to, $Objet2, $msgt, $headers);
?> |
Pourquoi avec ce même code, en local ça marche et chez mon hébergeur je reçois juste l'email sans les pièces jointes avec quand même l'indication que les pièces jointes sont présentes???
Merci pour votre aide
Les pièces jointes n'arrivent pas
Bonjour Eric2a,
J'ai bien rajouté les lignes manquantes, le résultat est le même, les pièces jointes n'arrivent pas
Voici le Code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
|
<?php
/*----------------------------------------------------------------*/
/* Envoie du mail avec les pièces jointes qui ont été uploadées */
/*----------------------------------------------------------------*/
$eol="\n";
/* Récupération des valeurs des champs du formulaire */
$Email = $_POST['Email'];
$Objet = $_POST['Objet'];
$LM = $_POST['LM'];
$CV = $_POST['CV'];
// To
$to = "MOI@laposte.net";
// clé aléatoire de limite
$boundary = md5(uniqid(microtime(), TRUE));
/* En-têtes de l'e-mail */
$headers = "From: "." <".$Email.">"."\r\n";
$headers .='Return-Path: '.$Email."\n";
$headers .='Reply-To: '.$Email."\n";
$headers .='Content-Transfer-Encoding: 8bit';
//$headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
$headers .= 'Mime-Version: 1.0'."\r\n";
$headers .= 'Content-Type: multipart/mixed;boundary='.$boundary."\r\n";
$headers .= "\r\n";
// Message
$msg = 'This is a multipart/mixed message.'."\r\n\r\n";
/* Construction du message */
$msg .= '--'.$boundary."\r\n";
$msg .= 'Content-type:text/plain;charset=utf-8'."\r\n";
$msg .= 'Content-transfer-encoding:8bit'."\r\n";
$msg .= "Bonjour, "."\r\n";
$msg .= "Ce mail a ete envoye depuis MOI.com "."\r\n";
$msg .= "L Email de la personne est : ".$Email. "\r\n";
$msg .= "L Objet du message est : le poste recherche est le suivant :".$Objet. "\r\n";
$msg .= "Un message avec une piece jointe"."\r\n";
// Pièce jointe
$file_name = $LM;
if (file_exists($file_name))
{
$file_type = filetype($file_name);
$file_size = filesize($file_name);
$handle = fopen($file_name, 'r') or die('File '.$file_name.'can t be open');
$content = fread($handle, $file_size);
$content = chunk_split(base64_encode($content));
$f = fclose($handle);
$file_name=basename($file_name);
$msglm = '--'.$boundary."\r\n";
$msglm .= 'Content-type:'.$file_type.';name='.$file_name."\r\n";
$msglm .= 'Content-transfer-encoding:base64'."\r\n";
$msglm .='Content-Disposition: attachment; filename="'.$file_name.'"'.$eol.$eol;
$msglm .= $content."\r\n";
}
$file_name = $CV;
if (file_exists($file_name))
{
$file_type = filetype($file_name);
$file_size = filesize($file_name);
$handle = fopen($file_name, 'r') or die('File '.$file_name.'can t be open');
$content = fread($handle, $file_size);
$content = chunk_split(base64_encode($content));
$f = fclose($handle);
$file_name=basename($file_name);
$msgcv = '--'.$boundary."\r\n";
$msgcv .= 'Content-type:'.$file_type.';name='.$file_name."\r\n";
$msgcv .= 'Content-transfer-encoding:base64'."\r\n";
$msgcv .='Content-Disposition: attachment; filename="'.$file_name.'"'.$eol.$eol;
$msgcv .= $content."\r\n";
}
// Fin
$msgfin = '--'.$boundary."\r\n";
$msgt = $msg.$msglm.$msgcv.$msgfin;
$Objet2 = "Poste demande par MOI.COM: ".$Objet."\r\n";
// Function mail()
mail($to, $Objet2, $msgt, $headers);
?> |
Je ne comprends pas??
Surtout que l'email arrive bien en indiquant qu'il y a des pièces jointes mais elles ne sont pas là
Merci de votre aide
Le fichier n'existe pas l'erreur est bien là
Re Bonjour Eric2a!
en effet, il y a bien un soucis avec les fichiers...
J'ai suivis ta démarche et ça me retourne l'info le fichier n'existe pas ;
J'ai supprimé également file type
Par contre ça veut dire que les variables ne prennent pas la valeur du chemin du fichier à télécharger...
Je vois pas pourquoi?
Qu'est ce qui empêcherai cela?
Merci de votre aide
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
|
<?php
/*----------------------------------------------------------------*/
/* Envoie du mail avec les pièces jointes qui ont été uploadées */
/*----------------------------------------------------------------*/
$eol="\n";
/* Récupération des valeurs des champs du formulaire */
$Email = $_POST['Email'];
$Objet = $_POST['Objet'];
$LM = $_POST['LM'];
$CV = $_POST['CV'];
$chemin = './' ; // Répertoire contenant les fichiers
$LM = $chemin . basename($LM);
$CV = $chemin . basename($CV);
if ( file_exists($LM) )
$s = 'existe';
else
$s = 'n\'existe pas';
echo $LM . ' ('. $LM . ') '. $s . '<br />';
if ( file_exists($CV) )
$s = 'existe';
else
$s = 'n\'existe pas';
echo $CV . ' ('. $CV . ') '. $s . '<br />';
$chemin = './' ; // Répertoire contenant les fichiers
$LM = $chemin . basename($LM);
$CV = $chemin . basename($CV);
// To
$to = "soua@laposte.net";
// clé aléatoire de limite
$boundary = md5(uniqid(microtime(), TRUE));
/* En-têtes de l'e-mail */
$headers = "From: "." <".$Email.">"."\r\n";
$headers .='Return-Path: '.$Email."\n";
$headers .='Reply-To: '.$Email."\n";
$headers .='Content-Transfer-Encoding: 8bit';
//$headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
$headers .= 'Mime-Version: 1.0'."\r\n";
$headers .= 'Content-Type: multipart/mixed;boundary='.$boundary."\r\n";
$headers .= "\r\n";
// Message
$msg = 'This is a multipart/mixed message.'."\r\n\r\n";
/* Construction du message */
$msg .= '--'.$boundary."\r\n";
$msg .= 'Content-type:text/plain;charset=utf-8'."\r\n";
$msg .= 'Content-transfer-encoding:8bit'."\r\n";
$msg .= "Bonjour, "."\r\n";
$msg .= "Ce mail a ete envoye depuis souasoua.com "."\r\n";
$msg .= "L Email de la personne est : ".$Email. "\r\n";
$msg .= "L Objet du message est : le poste recherche est le suivant :".$Objet. "\r\n";
$msg .= "Un message avec une piece jointe"."\r\n";
// Pièce jointe
$file_name = $LM;
if (file_exists($file_name))
{
//$file_type = filetype($file_name);
$file_size = filesize($file_name);
$handle = fopen($file_name, 'r') or die('File '.$file_name.'can t be open');
$content = fread($handle, $file_size);
$content = chunk_split(base64_encode($content));
$f = fclose($handle);
$file_name=basename($file_name);
$msglm = '--'.$boundary."\r\n";
$msglm .= 'Content-type:'.$file_type.';name='.$file_name."\r\n";
$msglm .= 'Content-transfer-encoding:base64'."\r\n";
$msglm .='Content-Disposition: attachment; filename="'.$file_name.'"'.$eol.$eol;
$msglm .= $content."\r\n";
}
$file_name = $CV;
if (file_exists($file_name))
{
//$file_type = filetype($file_name);
$file_size = filesize($file_name);
$handle = fopen($file_name, 'r') or die('File '.$file_name.'can t be open');
$content = fread($handle, $file_size);
$content = chunk_split(base64_encode($content));
$f = fclose($handle);
$file_name=basename($file_name);
$msgcv = '--'.$boundary."\r\n";
$msgcv .= 'Content-type:'.$file_type.';name='.$file_name."\r\n";
$msgcv .= 'Content-transfer-encoding:base64'."\r\n";
$msgcv .='Content-Disposition: attachment; filename="'.$file_name.'"'.$eol.$eol;
$msgcv .= $content."\r\n";
}
// Fin
$msgfin = '--'.$boundary."\r\n";
$msgt = $msg.$msglm.$msgcv.$msgfin;
$Objet2 = "Poste demande par SOUASOUA.COM: ".$Objet."\r\n";
// Function mail()
mail($to, $Objet2, $msgt, $headers);
?> |
$_FILES j'avais essayé les deux même combat même résultat
Re Eric2a,
$_FILES j'avais essayé les deux même combat même résultat :
les fichiers existent pas
c'est fou ça
Voici mon formulaire
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
<div id="FormulaireCV" style="position:absolute; left:25%; top:75%; width:50%; height:50%; z-index:69">
<form action="ciblerecrut.php" method="post" name="Formulaire" id="Formulaire">
<table width="99%" height="50%" border="0">
<tr>
<td width="32%" height="28"><div align="right"><font face="Monotype Corsiva"><strong>Poste
souhaité :</strong> </font></div></td>
<td width="30%"><input name="Objet" type="text" id="Objet2"></td>
</tr>
<tr>
<td height="30"><div align="right"><font face="Monotype Corsiva"><strong>Votre
E-mail:</strong> </font></div></td>
<td><input name="Email" type="text" id="Email2"></td>
</tr>
<tr>
<td height="28"><div align="right"><font face="Monotype Corsiva"><strong>Lettre
de Motivation :</strong></font></div></td>
<td> <div align="left">
<input name="LM" type="file" id="LM3">
</div></td>
</tr>
<tr>
<td height="27"><div align="right"><font face="Monotype Corsiva"><strong>CV
:</strong></font></div></td>
<td> <div align="left">
<input name="CV" type="file" id="CV3">
</div></td>
</tr>
<tr>
<td height="28"> </td>
<td> <div align="left">
<input type="submit" name="Submit" value="Envoyer">
</div></td>
</tr>
</table>
<p> </p>
</form>
</div> |
Voici à nouveau mon script php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
|
<?php
/*----------------------------------------------------------------*/
/* Envoie du mail avec les pièces jointes qui ont été uploadées */
/*----------------------------------------------------------------*/
$eol="\n";
/* Récupération des valeurs des champs du formulaire */
$Email = $_POST['Email'];
$Objet = $_POST['Objet'];
$LM = $_FILES['LM'];
$CV = $_FILES['CV'];
//$chemin = './' ; // Répertoire contenant les fichiers
// $LM = $chemin . basename($LM);
// $CV = $chemin . basename($CV);
if ( file_exists($LM) )
$s = 'existe';
else
$s = 'n\'existe pas';
echo $LM . ' ('. $LM . ') '. $s . '<br />';
if ( file_exists($CV) )
$s = 'existe';
else
$s = 'n\'existe pas';
echo $CV . ' ('. $CV . ') '. $s . '<br />';
//$chemin = './' ; // Répertoire contenant les fichiers
//$LM = $chemin . basename($LM);
//$CV = $chemin . basename($CV);
// To
$to = "moi@laposte.net";
// clé aléatoire de limite
$boundary = md5(uniqid(microtime(), TRUE));
/* En-têtes de l'e-mail */
$headers = "From: "." <".$Email.">"."\r\n";
$headers .='Return-Path: '.$Email."\n";
$headers .='Reply-To: '.$Email."\n";
$headers .='Content-Transfer-Encoding: 8bit';
//$headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
$headers .= 'Mime-Version: 1.0'."\r\n";
$headers .= 'Content-Type: multipart/mixed;boundary='.$boundary."\r\n";
$headers .= "\r\n";
// Message
$msg = 'This is a multipart/mixed message.'."\r\n\r\n";
/* Construction du message */
$msg .= '--'.$boundary."\r\n";
$msg .= 'Content-type:text/plain;charset=utf-8'."\r\n";
$msg .= 'Content-transfer-encoding:8bit'."\r\n";
$msg .= "Bonjour, "."\r\n";
$msg .= "Ce mail a ete envoye depuis moi.com "."\r\n";
$msg .= "L Email de la personne est : ".$Email. "\r\n";
$msg .= "L Objet du message est : le poste recherche est le suivant :".$Objet. "\r\n";
$msg .= "Un message avec une piece jointe"."\r\n";
// Pièce jointe
$file_name = $LM;
if (file_exists($file_name))
{
//$file_type = filetype($file_name);
$file_size = filesize($file_name);
$handle = fopen($file_name, 'r') or die('File '.$file_name.'can t be open');
$content = fread($handle, $file_size);
$content = chunk_split(base64_encode($content));
$f = fclose($handle);
$file_name=basename($file_name);
$msglm = '--'.$boundary."\r\n";
$msglm .= 'Content-type:'.$file_type.';name='.$file_name."\r\n";
$msglm .= 'Content-transfer-encoding:base64'."\r\n";
$msglm .='Content-Disposition: attachment; filename="'.$file_name.'"'.$eol.$eol;
$msglm .= $content."\r\n";
}
$file_name = $CV;
if (file_exists($file_name))
{
//$file_type = filetype($file_name);
$file_size = filesize($file_name);
$handle = fopen($file_name, 'r') or die('File '.$file_name.'can t be open');
$content = fread($handle, $file_size);
$content = chunk_split(base64_encode($content));
$f = fclose($handle);
$file_name=basename($file_name);
$msgcv = '--'.$boundary."\r\n";
$msgcv .= 'Content-type:'.$file_type.';name='.$file_name."\r\n";
$msgcv .= 'Content-transfer-encoding:base64'."\r\n";
$msgcv .='Content-Disposition: attachment; filename="'.$file_name.'"'.$eol.$eol;
$msgcv .= $content."\r\n";
}
// Fin
$msgfin = '--'.$boundary."\r\n";
$msgt = $msg.$msglm.$msgcv.$msgfin;
$Objet2 = "Poste demande par moi.COM: ".$Objet."\r\n";
// Function mail()
mail($to, $Objet2, $msgt, $headers);
?> |