PHP : Fonction mail et pièces jointes...
Résolu
Arctara
Messages postés
526
Date d'inscription
Statut
Membre
Dernière intervention
-
Arctara Messages postés 526 Date d'inscription Statut Membre Dernière intervention -
Arctara Messages postés 526 Date d'inscription Statut Membre Dernière intervention -
Bonjour.
Je souhaite envoyer un courrier électronique accompagné d'une pièce jointe. Il semble que j'aie fait une erreur, car à défaut de recevoir le courrier, je ne reçois pas la pièce jointe...
Par ailleurs, j'aimerais savoir s'il est possible d'envoyer deux pièces jointes dans le même courrier électronique en utilisant cette fonction.
Merci d'avance.
Je souhaite envoyer un courrier électronique accompagné d'une pièce jointe. Il semble que j'aie fait une erreur, car à défaut de recevoir le courrier, je ne reçois pas la pièce jointe...
Par ailleurs, j'aimerais savoir s'il est possible d'envoyer deux pièces jointes dans le même courrier électronique en utilisant cette fonction.
Merci d'avance.
<?php $email_expediteur='sysagents@gsw.evoserv.net'; $email_reponse='sysagents@gsw.evoserv.net'; $message_texte='Veuillez apprécier, ci-joint sous deux formats différents lisibles à votre préférence, le contenu du courrier que nous vous avons adressé.'; $message_html='<html> <head> <title>Courrier</title> </head> <body> <p>Veuillez apprécier, ci-joint sous deux formats différents lisibles à votre préférence, le contenu du courrier que nous vous avons adressé.</p> </body> </html>'; $frontiere = '-----=' . md5(uniqid(mt_rand())); $headers = 'From: "Arya" <'.$email_expediteur.'>'."\n"; $headers .= 'Return-Path: <'.$email_reponse.'>'."\n"; $headers .= 'MIME-Version: 1.0'."\n"; $headers .= 'Content-Type: multipart/mixed;boundary="'.$frontiere.'"'; $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 .= '--'.$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"; $message .= 'Content-Type: application/pdf; name="Courrier.pdf"'."\n"; $message .= 'Content-Transfer-Encoding: base64'."\n"; $message .= 'Content-Disposition:attachement; filename="Courrier.pdf"'."\n\n"; $message .= chunk_split(base64_encode(file_get_contents('Courrier.pdf')))."\n"; mail("dijay@live.fr","Courrier",$message,$headers); echo "OK"; ?>
A voir également:
- PHP : Fonction mail et pièces jointes...
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
2 réponses
Bonjour
Tu mets la frontière qui termine le multipart avant ta pièce jointe, il faut la mettre après ! il doit seulement y avoir la frontière entre deux parties et $frontière.'--' à la fin
Tu peux bien sûr ajouter autant de pièces jointes que tu veux
D'autre part, tu devrais regrouper tes versions texte brut / texte html dans un champ avec un Content-Type: multipart/alternative; et une autre frontière, sinon les deux versions sont visibles dans le message
Tu mets la frontière qui termine le multipart avant ta pièce jointe, il faut la mettre après ! il doit seulement y avoir la frontière entre deux parties et $frontière.'--' à la fin
Tu peux bien sûr ajouter autant de pièces jointes que tu veux
D'autre part, tu devrais regrouper tes versions texte brut / texte html dans un champ avec un Content-Type: multipart/alternative; et une autre frontière, sinon les deux versions sont visibles dans le message