2010-06-25 4 views
2

J'essaye d'envoyer un courrier avec le modèle html. Le mail a été envoyé. mais je ne peux pas trouver le design dans ce mail. Comment envoyer le mail avec le design.Comment envoyer un template HTML en mail avec PHP?

Le courrier devrait exactement ressembler à ce que je vois dans mon modèle html.

Comment faire? bon conseil.

Merci d'avance.

Mon code:

$subject = "Hi this is subject"; 
$email = "[email protected]"; 
$message = "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
<title>Super Qpon </title> 
</head> 
<link rel="stylesheet" href="../stylesheet/common.css" type="text/css"> 
<body> 

<div class="mainbodycontainer"> 
<div class="gift"> 
<div class="gft-top"></div> 
<div class="gft-bg"> 
<div class=""> 
<h1 class="title">Gift Coupon</h1> 
<div class="toppm"> 
<div class="coupon"> 
<div class="cop-top"></div> 
<div class="cop-bg"> 
<div> 
<table width="165" align="right" border="0" cellpadding="0" cellspacing="0"> 
<tr> 
<td width="81" class="t5">Coupon No :</td> 
<td width="84">SQ548555</td> 
</tr> 
</table> 
<div class="spacer"></div> 
</div> 
<div class="toppm"> 
<table width="500" border="0" cellpadding="0" cellspacing="0"> 
<tr> 
<td width="99" height="30">From</td> 
<td width="15" align="center">:</td> 
<td width="386">test</td> 
</tr> 
<tr> 
<td height="30">Amount</td> 
<td align="center">:</td> 
<td>$560</td> 
</tr> 
</table> 
<div class="spacer"></div> 
</div> 
<div class="toppm"> 
<table width="165" align="right" border="0" cellpadding="0" cellspacing="0"> 
<tr> 
<td width="81" class="t5">CODE NO :</td> 
<td width="84">SQ548555</td> 
</tr> 
</table> 
</div> 
<div class="spacer"></div> 
</div> 
<div class="cop-btm"></div> 
<div class="spacer"></div> 
</div> 
<div class="spacer"></div> 
</div> 
<div class="spacer"></div> 
</div> 
<div class="spacer"></div> 
</div> 
<div class="gft-btm"></div> 
<div class="spacer"></div> 
</div> 
<div class="spacer"></div> 
</div> 

</body> 
</html>"; 


$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
$headers .= 'From: SuperQpon <[email protected]>' . "\r\n"; 
mail($email,$subject,$message,$headers); 

Répondre

2

Il serait plus mieux si vous définissez tous vos styles dans les attributs de la balise. comme ceci (style = "background-color: # aefd34;").

J'ai fait face au même problème mais lorsque j'ai défini le CSS dans l'attribut de style tout s'est bien passé.

+0

cela résout mon problème aussi. merci – Fero

+0

@Fero: De rien –

1

Votre problème réside peut-être ici:

<link rel="stylesheet" href="../stylesheet/common.css" type="text/css">

Cette feuille de style doit être lié dans l'e-mail si vous voulez que le travail. Le chemin relatif se réfère à l'endroit où il se trouve sur votre ordinateur/serveur - qui sera inaccessible à partir de l'e-mail lorsqu'il est reçu.

EDIT

Vous pouvez simplifier votre vie beaucoup en utilisant http://postageapp.com/

+0

pourriez-vous s'il vous plaît me fournir une solution pour le faire? Je suis un peu confus à ce sujet. J'ai donné le chemin complet du serveur où le système contient la feuille de style. Y a-t-il un autre choix? – Fero

+1

Il est possible d'inclure la feuille de style en pièce jointe, bien que je ne sache pas comment la référencer en HTML. Il peut également être fourni en ligne. – staticsan

+0

Consultez postageapp –

0

Vous pouvez utiliser n'importe quel système de gabarit (par exemple Smarty) pour générer du contenu de courrier électronique, bien que vous sachiez que le courrier électronique n'est pas le Web et les différences entre les navigateurs Web. Jetez un oeil à www.email-standards.org pour plus de détails à ce sujet. Je vous suggère d'utiliser une bibliothèque pour envoyer vos messages rendus, tels que PHPMailer, SwiftMailer, Zend_Mail, etc. Pour effectuer une conversion automatique de styles liés en ligne (plus critique de la compatibilité de votre contenu par courriel), jetez un oeil à premailer