2017-07-04 1 views
0

Je travaille sur un script qui ouvre une image existante d'un formulaire et remplit le formulaire. J'ai tapé tout le code nécessaire pour écrire le texte dans le formulaire. Le problème est que j'essaye d'envoyer l'image modifiée à l'email. J'utilise la bibliothèque GD ImageCreate, ImageCopy et ImageJPEG. Mais au lieu d'enregistrer une image, le formulaire doit être envoyé par courrier électronique. voici ce que j'ai obtenu jusqu'à présentEnvoi d'images modifiées en PHP par e-mail

$tempname = "forms/temp".mt_rand().".jpg"; 
imagejpeg($image, $tempname); 
$datamsg = chunk_split(base64_encode(file_get_contents($tempname))); 
$uid = md5(uniqid(time())); 

$message = "Please see attachment for your form"; 

$emailheader = "From: [email protected]\r\n"; 
$emailheader .= "Reply-To: [email protected] \r\n"; 
$emailheader .= "MIME-Version: 1.0\r\n"; 

$emailheader .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n"; 
$emailheader .= "This is a multipart message in Mime-Format\r\n"; 

$emailheader .= "--" .$uid."\r\n"; 
$emailheader .= "Content-Type: text/plain;\r\n"; 
$emailheader .= "Content-Transfer-Encoding: 7bit\r\n"; 
$emailheader .= $message ."\r\n"; 
$emailheader .= "--" .$uid."\r\n"; 
$emailheader .= "Content-Type: Image/JPEG;name=\"jtstemp.jpg\"\r\n"; 
$emailheader .= "Content-Transfer-Encoding: base64\r\n"; 
$emailheader .= "Content-Disposition: attachment; Filename=\"jtstemp.jpg\"\r\n"; 
$emailheader .= $datamsg."\r\n"; 

if(mail("[email protected]", "Sample Subject", "", $emailheader)){ 
    echo "success"; 
}else{ 
    echo "failure"; 
}  

L'e-mail est enregistré comme une pièce jointe mais il est vide. De plus, le message de test ordinaire n'apparaît pas.

Répondre