首页 > 解决方案 > 使用 PHP 在 $email_body 中包含链接和图像

问题描述

我创建了一个内部表单,员工填写该表单应该向用户发送电子邮件,然后再发送给销售团队。

我已经发布了一个类似的问题,但这是不同的,因为它特别涉及添加链接和图像。

$email该表格应向 sales@ 和用户/客户发送电子邮件。

我已将此代码用于表单:

<form method="post" name="process.php" action="process.php">
<p>Customer Name:</p><br><input type="text" name="name">
<p>Customer Email Address:</p><br><input type="text" name="email">
<p>Customer Order Number:</p><br><input type="text" name="order">
<p>Customer Order Date:</p><br><input type="text" name="date">
<p>Total Paid:</p><br><input type="text" name="cost">
<p>Tracking Number:</p><br><input type="text" name="tracking">
<br>

并已将此代码用于process.php页面。

<?php
$name = $_POST['name'];
$email = $_POST['email'];
$order = $_POST['order'];
$date = $_POST['date'];
$cost = $_POST['cost'];
$tracking = $_POST['tracking'];

$email_from = "noreply@example.com";

$email_subject = "Your order details.";

$email_body = 
"Hello,\n $name.\n\n".
"Your order number is:\n $order".
"Your order was placed on:\n $date".
"Your total cost is:\n $cost".
"Your tracking number is:\n $tracking\n\n".
"You can track your order<a href=https://example.com/track>here</a>"
"Thanks,\n examplecompany \n";
<a href="https://example.com"><img src="https://example.com/assets/images/logo.png" alt="logo" width="200px"> </a>

$to = $email;
$headers = "From: noreply@example.com \r\n";
$headers .= "Bcc: sales@example.com \r\n";
$headers .= "Reply-To: contact@example.com \r\n";
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";

mail($to, $email_subject, $email_body, $headers);

?>

 <p>Sending Email…&lt;/p>
 <meta http-equiv="refresh" content="10000;URL='https://staff.example.com/fulfilment/confirmorder/#useremail'"/>

我希望将此电子邮件发送给用户并密件抄送给销售团队。我还希望 URL 是可点击的,并且在发送电子邮件时显示图像。这些可以使用整个电子邮件作为 HTML 来完成,但是$PHP 标记将不起作用。

任何建议也发送电子邮件至sales@example.com,包括可以单击的链接和页脚的徽标?

标签: phphtmlemail

解决方案


你需要把链接放在里面$email_body。由于电子邮件是 HTML,您应该使用<br>换行符,而不是\n.

对于像这样的长的多行字符串,heredoc 很有用。

$email_body = <<<EOM
Hello,<br> $name.<p>
Your order number is:<br> $order<br>
Your order was placed on:<br> $date<br>
Your total cost is:<br> $cost<br>
Your tracking number is:<br> $tracking<p>
You can track your order <a href="https://example.com/track">here</a>
Thanks,<br> examplecompany <br>
<a href="https://example.com"><img src="https://example.com/assets/images/logo.png" alt="logo" width="200px"> </a>
EOM
    ;

推荐阅读