Problème avec PHP: envoyer email avec pièce jointe PDF

arnoweb
WRInaute discret
WRInaute discret
 
Messages: 87
Inscription: 24 Juil 2004

Problème avec PHP: envoyer email avec pièce jointe PDF

Message le Mer Mar 04, 2009 15:11

Bonjour,

J'ai mis en place un script PHP me permettant d'envoyer automatiquement les emails stockés dans ma base de données.
Tout marche bien au niveau du script sauf un petit problème d'affichage des entête de l'email.

- Avec les messageries Yahoo, Gmail et Msn, l'email est bien présenté sauf l'instruction "Content-Transfer-Encoding:8bit" qui s'affiche au dessus du texte de l'email
- Avec Mozilla Thunderbird, j'ai cela qui s'affiche "Content-Type: text/plain;charset=ISO-8859-1 Content-Transfer-Encoding:8bit"
et la pièce jointe est corrompu et affiche un grand nombre de lignes du type "JVBERi0xLjQKJcfsj6IKNSAwIG9i"

Pour que cela soit plus concret, voici mon code ci-dessous.
Manque t-il des instructions ? y a t-il une erreur ? Problème d'encodage ?

----------------------------------------------------------------------------------------------------------


// Indiquer ici le fichier contenant les accès à la base de données
include("mainfile.php");

// Indiquer ici les informations du candidat (nom, email, ville, ...)
define('_NOM_COMPLET','XXXXXXXX');
define('_EMAIL','XXXXXXXX');
define('_PORTABLE','XXXXXXXXXXX');
define('_FIXE','XXXXXXXXXXX');
define('_ADRESSE','XXXXXXXXXXX');

// Requête SQL permettant d'accéder à tous les emails avec leurs correspondances
$sql = "SELECT * FROM samy_emailing";
$query = mysql_query($sql);

// On démarre la boucle, c'est à dire que le système va envoyer 1 par 1 les emails gràce à l'instruction WHILE
while($send = mysql_fetch_assoc($query)) {

// Initialisation des données pour l'email
$email = $send['email'];
$societe = $send['societe'];
$titre = $send['titre'];
$nom = $send['nom'];

$destinataire = $email;
$subject = 'XXXXXXXXXXX';
$headers = "";
$headers .= "From: "._EMAIL."\r\n";
$headers .= "Reply-To: "._EMAIL."\r\n";
$headers .= "Return-Path: "._EMAIL."\r\n";
$headers .= "Content-Type: multipart/mixed;";
$headers .= "boundary=\"aaaaaaaaaa\"\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$message = "";
$message .= "--aaaaaaaaaa\r\n";
$message .= "Content-Type: text/plain;";
$message .= "charset=ISO-8859-1\r\n\n";
$message .= "Content-Transfer-Encoding:8bit\r\n";
$message .= "\r\n";
$message .= $titre." ".$nom.", \r\n\nJe me rapproche de vous pour vous témoigner mon désir de rejoindre ".$societe.". En effet, fort d’une mission réussie en agence de conseil en communication ..........\n\n\n";
$message .= "Je vous invite ..... ".$societe.".\n\n\n";
$message .= ".....texte.\n\n\n";
$message .= "Par ailleurs, j'ai effectué dans le cadre de .......\n\n\n";
$message .= ".....texte.\n\n\n";
$message .= "......texte.\n\n\n";
$message .= "Je reste à votre disposition dans cette perspective ou pour tout complément d'information et vous prie de croire, Madame ou Monsieur, en l'assurance de mes plus sincères salutations.\n\n\n";
$message .= _NOM_COMPLET."\n"._PORTABLE."\n"._FIXE."\n"._ADRESSE."\n"._EMAIL."\r\n";
$message .= "\r\n";
$message .= "--aaaaaaaaaa\r\n";
$message .= "Content-Type: application/octet-stream;";
$message .= "name=\"2009_CV_S.pdf\"\r\n";
$message .= "Content-Transfer-Encoding:base64\r\n";
$message .= "Content-Disposition:attachment;";
$message .= "filename=\"2009_CV_S.pdf\"\r\n";
$message .= "\r\n";
$fichier = fopen("2009_CV_S.pdf","rb");
$donnees = fread($fichier,filesize("2009_CV_S.pdf"));
fclose($fichier);
$donnees = chunk_split(base64_encode($donnees));
$message .= "$donnees\r\n";
$message .= "\r\n";
$message .= "--aaaaaaaaaa--\r\n";


$email = mail($destinataire,$subject,$message,$headers);

echo 'Envoy&eacute; OK pour '.$destinataire.'<br>';

}


---------------------------------------------------------------------------------------------


Merci pour votre aide :-)
Dernière édition par arnoweb le Mer Mar 04, 2009 16:31, édité 1 fois.


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8578
Inscription: 23 Nov 2005

Re: Problème avec PHP: envoyer email avec pièce jointe PDF

Message le Mer Mar 04, 2009 15:25

Et pourquoi ne pas utiliser une classe comme phpmailer, qui génère les entête et gère tout l'envoi ?

arnoweb
WRInaute discret
WRInaute discret
 
Messages: 87
Inscription: 24 Juil 2004

Re: Problème avec PHP: envoyer email avec pièce jointe PDF

Message le Mer Mar 04, 2009 15:33

J'ai terminé mon script et il n'y a qu'à trouvé la petite erreur.

Je ne vais pas mettre à l'eau tout ce que j'ai fait.


JanoLapin
WRInaute accro
WRInaute accro
 
Messages: 4054
Inscription: 21 Sep 2008

Re: Problème avec PHP: envoyer email avec pièce jointe PDF

Message le Mer Mar 04, 2009 16:12

on ne dit pas "mes habiletés" mais plutôt "mes compétences"...

par ailleurs, cela te regardes, mais faire un sript de CV automatisé pour expliquer que t'es une bête de comm', cela le fait moyen ahma. Je te donne ici mon avis en tant qu''employeur.

arnoweb
WRInaute discret
WRInaute discret
 
Messages: 87
Inscription: 24 Juil 2004

Re: Problème avec PHP: envoyer email avec pièce jointe PDF

Message le Mer Mar 04, 2009 16:32

J'ai retiré le corps du message.
En fait cela est pour un ami, pas pour moi. (ne sachant pas faire des envois automatisé)

Je lui ferais part du côté vaniteux de son message ;-)

Sinon, avez-vous une idée d'où vient le problème ?


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité