在PHP代码中包含HTML电子邮件模板
我有一个非常好看的HTML模板,我现在需要在我的邮件系统中实现它。我目前正在使用此功能发送电子邮件:在PHP代码中包含HTML电子邮件模板,php,html-email,Php,Html Email,我有一个非常好看的HTML模板,我现在需要在我的邮件系统中实现它。我目前正在使用此功能发送电子邮件: $to = $dbuser; $subject = "Welcome"; $from = "support@mysite.com"; $headers = "From: $from"; $server = ""; ini_set ("SMTP", $localhost); $url=""; $msg="$url"; $body = Example Text! mail($to
$to = $dbuser;
$subject = "Welcome";
$from = "support@mysite.com";
$headers = "From: $from";
$server = "";
ini_set ("SMTP", $localhost);
$url="";
$msg="$url";
$body = Example Text!
mail($to, $subject, $body, $headers);
如何将HTML模板(以及CSS)直接包含到php电子邮件表单的$body变量中
我做了很多研究,但找不到任何实质性的东西
还请记住,在HTML电子邮件中,强烈建议您尽可能使用内联CSS和老式HTML格式,以确保与不同电子邮件客户端的最大兼容性。也没有divs
-只是普通的旧货物表
-s-example#5
还请记住,在HTML电子邮件中,强烈建议您尽可能使用内联CSS和老式HTML格式,以确保与不同电子邮件客户端的最大兼容性。也没有
divs
-只是普通的旧good表
-s缺少电子邮件客户端将邮件解释为HTML所需的标题。将以下内容添加到标题中:
$headers = "From: " . $from . "\r\n";
$headers .= "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
您缺少电子邮件客户端将邮件解释为HTML所需的标题。将以下内容添加到标题中:
$headers = "From: " . $from . "\r\n";
$headers .= "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
首先,您需要添加一些标题,以便正确显示HTML。 摘自mail()PHP文档,以下是您的操作方式:
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
在那之后,我假设$body是文本应该在的位置,所以这是一个将所有HTML放在引号之间的问题(用反斜杠将HTML中的每个引号转义),基本上就是这样。首先,为了使HTML正确显示,您需要添加一些标题。 摘自mail()PHP文档,以下是您的操作方式:
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
在那之后,我假设$body是文本应该在的地方,所以这是一个将所有HTML放在引号之间的问题(用反斜杠转义HTML中的每个引号),这差不多就是它了。我过去使用的一种方法是像平常一样创建页面(使用HTML/php等)然后使用文件内容($url),如下所示: 因为您使用的是http://php,所以php是执行的,而不是拉入模板,简单但有效
我还建议您使用内联css,不要害怕使用表 我在过去使用过的一种方法是,像往常一样创建页面(使用html/php等),然后使用file\u get\u contents($url),如下所示: 因为您使用的是http://php,所以php是执行的,而不是拉入模板,简单但有效
我还建议您使用内联css,不要害怕使用表 我昨天为自己写了这封信:
//附件文件路径/名称
$files[0]='./world.jpg';
$files[1]='./world2.jpg';
$to='';
$bcc=“”;
$subject='';
$from=“”;
$htmlx='';
$handle=@fopen(“./email.html”,“r”);
如果($handle){
while(($buffer=fgets($handle,4096))!==false){
$htmlx.=$buffer;
}
如果(!feof($handle)){
echo“错误:意外的fgets()失败\n”;
}
fclose($handle);
}
$semi_rand=md5(time());
$mime_boundary=“==多部分_boundary_x”。$semi_rand.“x”;
$headers=“From:$From\n”;
$headers.=“回复:$from\n”;
$headers.='密件抄送:'$密件抄送。“\n”;
$headers.=“MIME版本:1.0\n”。“内容类型:多部分/混合;\n”boundary=“'.$mime_boundary.”“.\n”;
$headers.=“X作者:\n”;
$message='-'.$mime\u边界。“\n”;
$message.='内容类型:text/html;字符集=UTF-8'.“\n”;
$message.=“内容传输编码:7bit\n\n\n”$htmlx。“\n\n\n”;
//准备附件
为了($i=0;$i我昨天为自己写了这封信:
创建您的html并将其放入名为“./email.html”的文件中,然后复制
将下面的代码粘贴到与html文件位于同一目录中的php文件中
如果在HTML中使用图像名称,请修改它们,就像这样做:src=“cid:world.jpg”
就这样……我想。=)
//附件文件路径/名称
$files[0]='./world.jpg';
$files[1]='./world2.jpg';
$to='';
$bcc=“”;
$subject='';
$from=“”;
$htmlx='';
$handle=@fopen(“./email.html”,“r”);
如果($handle){
while(($buffer=fgets($handle,4096))!==false){
$htmlx.=$buffer;
}
如果(!feof($handle)){
echo“错误:意外的fgets()失败\n”;
}
fclose($handle);
}
$semi_rand=md5(time());
$mime_boundary=“==多部分_boundary_x”。$semi_rand.“x”;
$headers=“From:$From\n”;
$headers.=“回复:$from\n”;
$headers.='密件抄送:'$密件抄送。“\n”;
$headers.=“MIME版本:1.0\n”。“内容类型:多部分/混合;\n”boundary=“'.$mime_boundary.”“.\n”;
$headers.=“X作者:\n”;
$message='-'.$mime\u边界。“\n”;
$message.='内容类型:text/html;字符集=UTF-8'.“\n”;
$message.=“内容传输编码:7bit\n\n\n”$htmlx。“\n\n\n”;
//准备附件
对于($i=0;$iGreat idea但它不起作用!当我使用此方法时,它不会发送!有什么想法吗?很难说没有看到日志..试试它是一个很棒的电子邮件类,非常强大且易于使用伟大的想法但它不起作用!当我使用此方法时它不会发送!有什么想法吗?很难说没有看到日志..试试它的伟大的电子邮件类,非常强大,易于使用