2011-02-06 4 views
0

je dois inclure certaines choses HTML en PHP, par exemple pour ajouter <a href="#">link</a> dans un message comme celui-ci:html dans le courrier électronique

<?php 
$to = $themail; 
$subject = "Expiration d'une annonce"; 
$body = "Hey,\n\n";      
// I need to include a link here in the body like <a href ="http://www.www.com"> Link </a> 
mail($to, $subject, $body) 
?> 

Toutes les idées?

Répondre

2

Ceci est très basique: mail()

Définissez les en-têtes corrects (de php.net)

// To send HTML mail, the Content-type header must be set 
$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

// Mail it 
mail($to, $subject, $message, $headers); 

votre message $ peut maintenant contenir HTML. Pour les html/emails complexes, il est conseillé de regarder certains paquets tels que la classe PEAR Mailer par exemple.

+0

Ceci est trop basique. Ne pas définir une alternative en texte brut est un bon moyen d'augmenter le score de spam. – Quentin

+0

Erreur d'analyse: erreur de syntaxe, T_IF inattendu dans /home/mysite/public_html/mysite/test.php à la ligne 25 – VisaMasterCard

+0

@David a accepté, mais la question est trop basique aussi! – Ross

1

Je n'ai pas compris. Vous avez besoin de faire écho au html comme ça?

echo '<a href ="http://www.www.com"> Link </a>'; 

Ou devez-vous faire:

$body .= '<a href ="http://www.www.com"> Link </a>'; 

Quelle est exactement ce que vous essayez de faire?

Si vous essayez d'envoyer des données HTML par courrier(), vous devez définir quelques têtes

$headers = 'MIME-Version: 1.0' . "\r\n"; 
    $headers .= 'Content-type: text/html; charset=utf8' . "\r\n"; 
    mail($to, $subject, $body, $headers); 

Pour plus d'informations - consultez http://php.net/manual/en/function.mail.phpexemple 4

+0

C'est trop basique. Ne pas définir une alternative en texte brut est un bon moyen d'augmenter le score de spam. – Quentin

4

Je suggère d'utiliser PHPMailer, facile à utiliser, prend en charge tous les en-têtes nesseccery, l'envoi facile de pièces jointes, plusieurs destinataires, etc.

http://phpmailer.worxware.com/index.php?pg=phpmailer

+0

Ceci prend en charge les emails en plusieurs parties. +1 pour être la seule personne à pointer vers une solution qui fait ça jusque là. – Quentin

1

php.net/mail a beaucoup d'exemples

<?php 
// multiple recipients 
$to = '[email protected]' . ', '; // note the comma 
$to .= '[email protected]'; 

// subject 
$subject = 'Birthday Reminders for August'; 

// message 
$message = ' 
<html> 
<head> 
    <title>Birthday Reminders for August</title> 
</head> 
<body> 
    <p>Here are the birthdays upcoming in August!</p> 
    <table> 
    <tr> 
     <th>Person</th><th>Day</th><th>Month</th><th>Year</th> 
    </tr> 
    <tr> 
     <td>Joe</td><td>3rd</td><td>August</td><td>1970</td> 
    </tr> 
    <tr> 
     <td>Sally</td><td>17th</td><td>August</td><td>1973</td> 
    </tr> 
    </table> 
</body> 
</html> 
'; 

// To send HTML mail, the Content-type header must be set 
$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

// Additional headers 
$headers .= 'To: Mary <[email protected]>, Kelly <[email protected]>' . "\r\n"; 
$headers .= 'From: Birthday Reminder <[email protected]>' . "\r\n"; 
$headers .= 'Cc: [email protected]' . "\r\n"; 
$headers .= 'Bcc: [email protected]' . "\r\n"; 

// Mail it 
mail($to, $subject, $message, $headers); 
?> 

J'ai aussi trouvé cet article utile:

PHP: Sending Email (Text/HTML/Attachments)

+0

C'est trop basique. Ne pas définir une alternative en texte brut est un bon moyen d'augmenter le score de spam. – Quentin

+0

@David, merci, c'est un exemple tout droit sorti de php.net en guise de réponse à la question 'simple'! –

Questions connexes