quelques questions mail

Paynny
Invité n'ayant pas de compte PHPfrance

22 janv. 2015, 17:46

Bonjour à tous,

J'utilise depuis l'année dernière une fonction mail me permettant d'envoyer un mail ainsi qu'une pièce jointe en PDF.
cependant depuis quelques jours sur certaines boîtes mail le mail n'arrive pas ou arrive un jour après.
Pour vous donner un exemple je reçois parfaitement le mail avec ma boîte laposte mais pas avec wanadoo.fr

Ma deuxième question est sur gmail il m'encode le message et le pdf avec un tas de caractère comment pourrais je remédier à ça ?
(j'ai vu que des gens ont des problèmes avec gmail)

Merci d'avance à tous

Mammouth du PHP | 1339 Messages

22 janv. 2015, 17:52

Tu envois des pieces jointes avec mail() ?
Passé par la classe libmail pour voir ?

http://lwest.free.fr/doc/php/lib/
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Paynny
Invité n'ayant pas de compte PHPfrance

22 janv. 2015, 17:57

oui voici mon code si ca peut aider
$mail_to = "[email protected]"; //Destinataire  
    $from_mail = "[email protected]"; //Expediteur  
    $from_name = "www.test.com"; //Votre nom, ou nom du site  
    $reply_to = "www.test.com"; //Adresse de réponse  
    $subject = "Devis test";      
    $file_name = "devis.pdf";  
    $path = $_SERVER['DOCUMENT_ROOT']."\pdf\\";  
    $typepiecejointe = filetype($path.$file_name);  
    $data = chunk_split( base64_encode(file_get_contents($path.$file_name)) );  
    //Génération du séparateur  
    $boundary = md5(uniqid(time()));  
    $entete = "From: $from_mail \n";  
    $entete .= "Reply-to: $from_mail \n";  
    $entete .= "X-Priority: 1 \n";  
    $entete .= "MIME-Version: 1.0 \n";  
    $entete .= "Content-Type: multipart/mixed; boundary=\"$boundary\" \n";  
    $entete .= " \n";  
    $message  = "--$boundary \n";  
    $message .= "Content-Type: text/html; charset=\"iso-8859-1\" \n";  
    $message .= "Content-Transfer-Encoding:8bit \n";  
    $message .= "\n";  
    $message .= "Votre devis";   
    $message .= "\n";  
    $message .= "--$boundary \n";  
    $message .= "Content-Type: $typepiecejointe; name=\"$file_name\" \n";  
    $message .= "Content-Transfer-Encoding: base64 \n";  
    $message .= "Content-Disposition: attachment; filename=\"$file_name\" \n";  
    $message .= "\n";  
    $message .= $data."\n";  
    $message .= "\n";  
    $message .= "--".$boundary."--";  
 
	//Envoi du mail
       if(mail($mail_to, $subject, $message, $entete)){ 
	echo "<img src='img/emailsucces.png'/>";
	}else {
	echo "Une erreur s'est produite";
	}