从联系表格发送电子邮件
问题描述:
如何设置从联系人表单发送的电子邮件的样式?从联系表格发送电子邮件
我想把它放在漂亮的桌子上,有一些体面的样式。我的前端只是用户填写表单的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
?>
答
您的邮件正文的开头开始与下面的代码行:=“形式的细节在下面
$ 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字符串以得到相同结果的方式的模板。
祝你好运。
取决于你希望它看起来如何。您需要为电子邮件添加一个MIME类型的标头,然后将其作为HTML发送。然后你可以做任何你想做的事情。 – DiMono 2013-02-22 17:44:28
有趣 - 那个mime类型的头文件看起来如何? – 2013-02-22 17:45:34
$ 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