首页 > 解决方案 > 如何在 PHP 中将电子邮件标题数据合并到电子邮件 html 消息正文中

问题描述

我正在寻找一种解决方案,将电子邮件的标题(如地址、主题、日期等)放入电子邮件的正文中。就像从任何电子邮件客户端转发电子邮件时一样。

在 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…&lt;/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…&lt;/body></html>";
mail($to, $subject, $message, $headers2);
echo '<META HTTP-EQUIV=Refresh CONTENT="1; URL='.$url.'">';
}

我可以将标题连接到正文中吗?

标签: phplaravelemail-headers

解决方案


是的你可以!

你可以做这样的事情

$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);

上面将用HTML标记替换新行 ( \r\n),并且格式化的标题将被添加到结束标记之前。$headers<br>$message<body>

另请注意,我已从 中删除 并将.$message .= "...";替换为$message = "..."; You don't need the ,.除非您要附加$message变量。


推荐阅读