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

arnoweb

WRInaute discret
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 :)
 

arnoweb

WRInaute discret
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
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
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 ?
 

Discussions similaires

Haut