【问题标题】:How to merge e-mail headers data into e-mail html message body in PHP如何在 PHP 中将电子邮件标题数据合并到电子邮件 html 消息正文中
【发布时间】:2019-08-06 20:49:18
【问题描述】:

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

在 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.'">';
}

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

【问题讨论】:

  • 是的,你可以。这是其他邮件客户端在转发邮件时所做的实际事情。

标签: php laravel email-headers


【解决方案1】:

是的,你可以!

你可以这样做

$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 &lt;br&gt; 标记替换 $headers 中的新行 (\r\n),并且格式化的标题将添加到 $message 结束 &lt;body&gt; 标记之前。

还请注意,我已从 $message .= "..."; 中删除了 .,并将其替换为 $message = "..."; 你不需要. 除非你附加$message 变量。

【讨论】:

  • 没问题 :-) 如果您有更多与 PHP 相关的问题,我很乐意提供帮助。
猜你喜欢
  • 2021-02-06
  • 2020-12-11
  • 1970-01-01
  • 1970-01-01
  • 2013-09-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多