1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| function envoi_mail($to, $subject, $sendermail, $sendername, $message, $link_to_card, $file_name)
{
// clé aléatoire de limite
$boundary = md5(uniqid(microtime(), TRUE));
// Headers
$headers = 'From: '.$sendername.' <'.$sendermail.'>'."\r\n";
$headers .= 'Mime-Version: 1.0'."\r\n";
$headers .= 'Content-Type: multipart/mixed;boundary='.$boundary."\r\n";
$headers .= "\r\n";
// Message
$msg = 'Vous avez reçu une carte postale virtuelle de la part de '.$sendername.'. Cependant, votre client mail ne vous permet pas de la lire. Rendez-vous à cette adresse pour la voir: '.$link_to_card.'.'."\r\n\r\n";
// Message HTML
$msg .= '--'.$boundary."\r\n";
$msg .= 'Content-type: text/html; charset=iso-8859-1'."\r\n\r\n";
$msg .= html_entity_decode($message).'<hr /><img src="'.str_replace('/', '_', str_replace(':', '_', $file_name)).'" /><br />Découvrez cette carte postale en meilleure résolution sur <a href="'.$link_to_card.'">'.$link_to_card.'</a>'."\r\n";
// Pièce jointe
if (file_exists($file_name))
{
$file_type = filetype($file_name);
$file_size = filesize($file_name);
$handle = fopen($file_name, 'r') or die('File '.$file_name.'can t be open');
$content = fread($handle, $file_size);
$content = chunk_split(base64_encode($content));
$f = fclose($handle);
$msg .= '--'.$boundary."\r\n";
$msg .= 'Content-type:'.$file_type.';name='.$file_name."\r\n";
$msg .= 'Content-transfer-encoding:base64'."\r\n\r\n";
$msg .= $content."\r\n";
}
// Fin
$msg .= '--'.$boundary."\r\n";
// Function mail()
mail($to, $subject, $msg, $headers);
} |
Partager