2013-02-22 116 views
0

如何设置从联系人表单发送的电子邮件的样式?从联系表格发送电子邮件

我想把它放在漂亮的桌子上,有一些体面的样式。我的前端只是用户填写表单的HTML页面。表单在提交时调用这个PHP页面来发送数据。我拥有完美的部分。

现在,我只想设计电子邮件的外观如何接收电子邮件的人,因为现在它只是文本&数据。

我当前的PHP代码:

<?php 
if(isset($_POST['email'])) { 

// EDIT THE 2 LINES BELOW AS REQUIRED 
$email_to = "[email protected]"; 
$email_subject = "TEST - NO STYLE JUST DATA- Product Research Request"; 


function died($error) { 
    // your error code can go here 
    echo "We are very sorry, but there were error(s) found with the form you submitted. "; 
    echo "These errors appear below.<br /><br />"; 
    echo $error."<br /><br />"; 
    echo "Please go back and fix these errors.<br /><br />"; 
    die(); 
} 

// validation expected data exists 
if(!isset($_POST['ProductMgr']) || 
    !isset($_POST['ProductDesc'])|| 
    !isset($_POST['email'])) { 
    died('We are sorry, but there appears to be a problem with the form you submitted.');  
} 

$ProductMgr = $_POST['ProductMgr'];     // required 
$email_from = $_POST['email'];      // required 
$ProductDesc = $_POST['ProductDesc'];    // required 
$ProjLaunchDate = $_POST['ProjLaunchDate'];   // required 
$ProdCat = $_POST['ProdCat'];      // required 
$ProdSubCat = $_POST['ProdSubCat'];     // required 
$SuggVendor = $_POST['SuggVendor'];     // required 
$VPartNum = $_POST['VPartNum'];      // required 
$EstLandCost = $_POST['EstLandCost'];    // required 
$EstRetail = $_POST['EstRetail'];     // required 
$GMPercent = $_POST['GMPercent'];     // required 
$GMDollar = $_POST['GMDollar'];      // required 
$ForeUSales = $_POST['ForeUSales'];     // required 
$ForeDSales = $_POST['ForeDSales'];     // required 
$WholesalePot = $_POST['WholesalePot'];    // required 
$CompProdPrice = $_POST['CompProdPrice'];   // required 
$CompCompany = $_POST['CompCompany'];    // required 
$SampleAvail = $_POST['SampleAvail'];    // required 
$ProdDims = $_POST['ProdDims'];      // required 
$ProdColors = $_POST['ProdColors'];     // required 
$EstProdWeight = $_POST['EstProdWeight'];   // required 
$Features = $_POST['Features'];      // required 
$AMLBenefits = $_POST['AMLBenefits'];    // required 
$ProBenefits = $_POST['ProBenefits'];    // required 
$Restrictions = $_POST['Restrictions'];    // required 
$GKS = $_POST['GKS']; 
$ProdMgr2 = $_POST['ProdMgr2'];      // required 
$ProdDesc2 = $_POST['ProdDesc2'];     // required 
$PossVend = $_POST['PossVend'];      // required 
$ProjReTime = $_POST['ProjReTime'];     // required 
$EstLandCost2 = $_POST['EstLandCost2'];    // required 
$ProtoExpDate = $_POST['ProtoExpDate'];    // required 
$ProdExpDate = $_POST['ProdExpDate'];    // required 




    $error_message = ""; 
    $email_exp = '/^[A-Za-z0-9._%-][email protected][A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/'; 
    if(!preg_match($email_exp,$email_from)) { 
    $error_message .= 'The Email Address you entered does not appear to be valid.<br />'; 
    } 

    if(strlen($error_message) > 0) { 
died($error_message); 
    } 
     $email_message = "Form details below.\n\n"; 

function clean_string($string) { 
    $bad = array("content-type","bcc:","to:","cc:","href"); 
    return str_replace($bad,"",$string); 
} 

$email_message .= "Product Manager: ".clean_string($ProductMgr)."\n"; 
$email_message .= "Product Description: ".clean_string($ProductDesc)."\n"; 
$email_message .= "Projected Launch Date: ".clean_string($ProjLaunchDate)."\n"; 
$email_message .= "Product Category: ".clean_string($ProdCat)."\n"; 
$email_message .= "Product Subcategory: ".clean_string($ProdSubCat)."\n"; 
$email_message .= "Suggested Vendor: ".clean_string($SuggVendor)."\n"; 
$email_message .= "Vendor Part Number: ".clean_string($VPartNum)."\n"; 
$email_message .= "Estimated Landed Cost: ".clean_string($EstLandCost)."\n"; 
$email_message .= "Estimated Retail: ".clean_string($EstRetail)."\n"; 
$email_message .= "Gross Margin %: ".clean_string($GMPercent)."\n"; 
$email_message .= "Gross Margin $: ".clean_string($GMDollar)."\n"; 
$email_message .= "Forecasted Unit Sales: ".clean_string($ForeUSales)."\n"; 
$email_message .= "Forecasted Dollar Sales: ".clean_string($ForeDSales)."\n"; 
$email_message .= "Wholesale Potential: ".clean_string($WholesalePot)."\n"; 
$email_message .= "Competition Product & Price: ".clean_string($CompProdPrice)."\n"; 
$email_message .= "Competitor Company: ".clean_string($CompCompany)."\n"; 
$email_message .= "Sample Available: ".clean_string($SampleAvail)."\n"; 
$email_message .= "Product Dimensions: ".clean_string($ProdDims)."\n"; 
$email_message .= "Product Colors: ".clean_string($ProdColors)."\n"; 
$email_message .= "Estimated Product Weight: ".clean_string($EstProdWeight)."\n"; 
$email_message .= "Features: ".clean_string($Features)."\n"; 
$email_message .= "Benefits to AML: ".clean_string($AMLBenefits)."\n"; 
$email_message .= "Benefits to Pro Customers: ".clean_string($ProBenefits)."\n"; 
$email_message .= "Any Restrictions: ".clean_string($Restrictions)."\n"; 
$email_message .= "GKS Approval To Go: ".clean_string($GKS)."\n"; 
$email_message .= "Product Manager: ".clean_string($ProdMgr2)."\n"; 
$email_message .= "Product Description: ".clean_string($ProdDesc2)."\n"; 
$email_message .= "Possible Vendors: ".clean_string($PossVend)."\n"; 
$email_message .= "Projected Research Time: ".clean_string($ProjReTime)."\n"; 
$email_message .= "Estimated Landing Cost: ".clean_string($EstLandCost2)."\n"; 
$email_message .= "Prototypes Expected Date: ".clean_string($ProtoExpDate)."\n"; 
$email_message .= "Production Expected Date: ".clean_string($ProdExpDate)."\n"; 




// create email headers 
$headers = 'From: '.$email_from."\r\n". 
'Reply-To: '.$email_from."\r\n" . 
'X-Mailer: PHP/' . phpversion(); 
@mail($email_to, $email_subject, $email_message, $headers); 
} 
header("Location: ThankYou.html"); //Redirect to Thank You HTML page after email is  sent 
?> 
+0

取决于你希望它看起来如何。您需要为电子邮件添加一个MIME类型的标头,然后将其作为HTML发送。然后你可以做任何你想做的事情。 – DiMono 2013-02-22 17:44:28

+0

有趣 - 那个mime类型的头文件看起来如何? – 2013-02-22 17:45:34

+0

$ headers。='MIME-Version:1.0'。为 “\ r \ n” 个; $ headers。='Content-type:text/html; charset = iso-8859-1'。为 “\ r \ n” 个; – DiMono 2013-02-22 17:47:16

回答

0

您的邮件正文的开头开始与下面的代码行:=“形式的细节在下面

$ email_message \ n \ N“;

那么消息的其余部分上的格式的新线仅仅是将每个价值“的标签:$值”开头的:

$ email_message =“产品经理”。 clean_string($ ProductMgr) “\ n”。 。

$ email_message结束= “生产预产期:” .clean_string($ ProdExpDate) “\ n”;

假设您希望所有这些在表中,您可以在字段赋值之前或之后添加一行或将其附加/附加到上述语句。一个很简单的例子:

$email_message .="<table>"; 
$email_message .= "Product Manager: ".clean_string($ProductMgr)."\n"; 
. 
. 
. 
$email_message .= "Production Expected Date: ".clean_string($ProdExpDate)."\n"; 
$email_message .= "</table>"; 

根据需要,如果你希望去表路线得到你想要的布局添加标题,行和列。

基本上你只是将html添加到$ email_message。你可能会发现让html首先运行起来更容易,然后使用它作为你需要concateate你的$ email_message字符串以得到相同结果的方式的模板。

祝你好运。

相关问题