[英]How to merge e-mail headers data into e-mail html message body in PHP
我正在寻找一种解决方案,将电子邮件的标题(如地址,主题,日期等)放入电子邮件的消息正文中。 从任何电子邮件客户端转发电子邮件时,它的工作原理都一样。
在PHP中是否有良好的做法? 我在手册中找不到。 我在laravel中使用php。
$to = 'me@mydomain.com';
$subject = 'Subject';
$headers = "From: me@ mydomain.com\r\n";
$headers .= "BCC: someonelese@ mydomain.com\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$message .= "<html><body>…Email Message 1…</body></html>";
mail($to, $subject, $message, $headers);
}
if(count($errors) == 0) {
$to = ($_POST['email']);
$subject = 'Subject';
$url = 'mydomain.caom';
$headers2 = "From: me@ mydomain.com\r\n";
$headers2 .= "BCC: someonelese@ mydomain.com\r\n";
$headers2 .= "MIME-Version: 1.0\r\n";
$headers2 .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$message = "<html><body>…Email Message 2…</body></html>";
mail($to, $subject, $message, $headers2);
echo '<META HTTP-EQUIV=Refresh CONTENT="1; URL='.$url.'">';
}
我可以将标头连接到正文中吗?
是的你可以!
你可以做这样的事情
$to = 'me@mydomain.com';
$subject = 'Subject';
$headers = "From: me@ mydomain.com\r\n";
$headers .= "BCC: someonelese@ mydomain.com\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$message_headers = str_replace("\r\n", "<br>", $headers);
$message = "<html><body>…Email Message 1…{$message_headers}</body></html>";
mail($to, $subject, $message, $headers);
上面的代码将$headers
的新行( \\r\\n
)替换为HTML <br>
标记,并且格式化的标题将在结束的<body>
标记之前添加到$message
。
另请注意,我已删除.
来自$message .= "...";
并将其替换为$message = "...";
您不需要.
除非您要附加$message
变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.