Probleme mail avec PJ en php
jeremy
-
jeremy -
jeremy -
Bonjour,
J'ai un léger soucis dans mon envoi de mail automatique avec PJ. Je m'explique j'ai un formulaire, lors de l'envoi je créé un fichier appelé form.xls dans lequel j'écris grâce à une boucle for les résultats que je veux, l'écriture et la génération du xls se passe parfaitement.
Je souhaite ensuite envoyer ce fichier par PJ c'est là que ça coince car dans le mail j'ai une PJ au format txt avec ecrit:
Content-Type: application/msword; name="form.xls"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="form.xls"
et: Content-Type: text/plain; charset=ISO-8859-1 apparait dans le message principal.
Voici le code:
//création et envoi du mail
$boundary='frontiere';
//En-têtes du mail
$headers="From: Donotreply@domaine.fr\r\n
MIME-Version: 1.0\r\n
Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n\n";
//Corps du mail en commençant par le message principal
$body="--". $boundary ."\n
Content-Type: text/plain; charset=ISO-8859-1\r\n\n
Message principal du mail.\n\n";
//Pièce jointe, on va dire que notre fichier s'appelle bidule.doc et qu'il se situe dans le répertoire courant
$fichier=file_get_contents('./form.xls');
//n utilise aussi chunk_split() qui organisera comme il faut l'encodage fait en base 64 pour se conformer aux standards
$fichier=chunk_split( base64_encode($fichier) );
//Écriture de la pièce jointe
$body = $body . "--" .$boundary ."\n
Content-Type: application/msword; name=\"form.xls\"\r\n
Content-Transfer-Encoding: base64\r\n
Content-Disposition: attachment; filename=\"form.xls\"\r\n\n
$fichier";
Je me suis aidé du cours de ce site, j'espère que vous allez pouvoir m'aider,
Merci
J'ai un léger soucis dans mon envoi de mail automatique avec PJ. Je m'explique j'ai un formulaire, lors de l'envoi je créé un fichier appelé form.xls dans lequel j'écris grâce à une boucle for les résultats que je veux, l'écriture et la génération du xls se passe parfaitement.
Je souhaite ensuite envoyer ce fichier par PJ c'est là que ça coince car dans le mail j'ai une PJ au format txt avec ecrit:
Content-Type: application/msword; name="form.xls"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="form.xls"
et: Content-Type: text/plain; charset=ISO-8859-1 apparait dans le message principal.
Voici le code:
//création et envoi du mail
$boundary='frontiere';
//En-têtes du mail
$headers="From: Donotreply@domaine.fr\r\n
MIME-Version: 1.0\r\n
Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n\n";
//Corps du mail en commençant par le message principal
$body="--". $boundary ."\n
Content-Type: text/plain; charset=ISO-8859-1\r\n\n
Message principal du mail.\n\n";
//Pièce jointe, on va dire que notre fichier s'appelle bidule.doc et qu'il se situe dans le répertoire courant
$fichier=file_get_contents('./form.xls');
//n utilise aussi chunk_split() qui organisera comme il faut l'encodage fait en base 64 pour se conformer aux standards
$fichier=chunk_split( base64_encode($fichier) );
//Écriture de la pièce jointe
$body = $body . "--" .$boundary ."\n
Content-Type: application/msword; name=\"form.xls\"\r\n
Content-Transfer-Encoding: base64\r\n
Content-Disposition: attachment; filename=\"form.xls\"\r\n\n
$fichier";
Je me suis aidé du cours de ce site, j'espère que vous allez pouvoir m'aider,
Merci
A voir également:
- Probleme mail avec PJ en php
- Windows live mail - Télécharger - Mail
- Publipostage mail - Accueil - Word
- Comment télécharger un mail - Guide
- Cegetel mail ✓ - Forum Mail
- Créer une adresse mail hotmail - Guide
2 réponses
Je viens d'essayer avec la classe mimi, j'ai mon mail avec la piece jointe qui cette fois-ci est bien un fichier excel mais il n'y a rien d'écrit alors que si je vais voir le fichier dans mon répertoire, les lignes sont bien écrite.
J'espère que vous pourrez m'aider, je vous mets le code:
$fanniv = fopen ("anniversaire.xls", a);
for ( $j = 0; $j < $nombrelignes; $j++)
{
if ( $_POST[$i] != NULL )
{
fputs ($fanniv, $dtAnniv);
fputs ($fanniv, "\n");
}
}
$mail = new mime_mail();
$mail->to = "mimi@free.fr"; // Adresse email de reception
$mail->subject = "Test"; // Sujet
$mail->body = "Ceci est un test."; // Corps du message
$mail->from = "DoNotReply@monDomaine.fr"; // Adresse email de l'expediteur (optionnel)
$mail->headers = "Date: "; // Entetes supplementaires (optionnel)
$mail->attach("$fanniv", "anniversaire.xls"); // fichier attache (optionnel)
// envoi du message
$mail->send();
fclose($fanniv);
J'espère que vous pourrez m'aider, je vous mets le code:
$fanniv = fopen ("anniversaire.xls", a);
for ( $j = 0; $j < $nombrelignes; $j++)
{
if ( $_POST[$i] != NULL )
{
fputs ($fanniv, $dtAnniv);
fputs ($fanniv, "\n");
}
}
$mail = new mime_mail();
$mail->to = "mimi@free.fr"; // Adresse email de reception
$mail->subject = "Test"; // Sujet
$mail->body = "Ceci est un test."; // Corps du message
$mail->from = "DoNotReply@monDomaine.fr"; // Adresse email de l'expediteur (optionnel)
$mail->headers = "Date: "; // Entetes supplementaires (optionnel)
$mail->attach("$fanniv", "anniversaire.xls"); // fichier attache (optionnel)
// envoi du message
$mail->send();
fclose($fanniv);
Je précise ce qui se passe: dans le mail en lui même rien ne s'affiche, ni dans la pièce jointe, donc ça peut venir de la classe utilisée car celle que j'ai trouvé est visiblement une classe mime modifiée?
Je n'arrive pas à telecharger la classe mime originale sur leur site et je n'en ai pas trouvé d'autres, si vous avez un lien ou si vous pouviez me copier la classe ici que je puisse l'utiliser?
Merci,
Je n'arrive pas à telecharger la classe mime originale sur leur site et je n'en ai pas trouvé d'autres, si vous avez un lien ou si vous pouviez me copier la classe ici que je puisse l'utiliser?
Merci,