使PHP变量具有html链接作为其值

时间:2013-08-23 14:29:33

标签: php html email hyperlink

我正在尝试将html链接指定为php变量的值。像这样,(我知道不起作用):

$mlink = <a href = "download.php">Download Link</a>;

我正在尝试发送一封带有链接的电子邮件作为电子邮件的消息。我正在使用mail()这样做。这是我发送邮件的脚本的代码。这是我想要使用带有html链接的$ mlink变量的地方。

<?php
$to = $_POST['email1'];
$subject = "Test mail";
$message = $mlink;
$from = "somewhere@somewhere.com";
$headers = "From:" . $from;

if( mail($to, $subject, $message, $headers) )
{
    echo ("<p>Mail Sent!</p>");
}
else
{
    echo ("<p>Mail could not be sent!</p>");
}
?>

我在另一个调用此脚本的脚本中分配$ mlink的值。我也可以发布该脚本。我只是不确定是否有必要。

我似乎无法弄清楚如何让它发挥作用。我试过使用echo但是当我在变量赋值语句中这样做时它给了我一个错误。我尝试过其他一些东西,但它们都会给我一个错误或不需要的输出。我对如何使这项工作感到茫然:(

非常感谢任何帮助。提前感谢任何启蒙!

2 个答案:

答案 0 :(得分:1)

要发送HTML邮件,必须将Content-type标头设置为 Content-type:text / html 。 这样,您的代码将被解释为html代码而不是纯文本:

 <?php

 $mlink = "download.php";

 $to = $_POST['email1'];
 $subject = "Test mail";
 $message = "<a href=" . $mlink . ">Download Link</a>";
 $from = "somewhere@somewhere.com";

 // To send HTML mail, the Content-type header must be set
 $headers = "MIME-Version: 1.0" . "\r\n";
 $headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
 $headers .= "From:" . $from;

 if( mail($to, $subject, $message, $headers) )
 {
     echo ("<p>Mail Sent!</p>");
 }
 else 
 {
     echo ("<p>Mail could not be sent!</p>");
 } 
 ?>

答案 1 :(得分:0)

注意

正如另一个答案中的评论所指出的那样,我提供了OP可以考虑做的一些补充信息,以及search the Internet (Google link example)实现这一点。

如何使用HTML和纯文本发送多部分电子邮件:

  • 诀窍在标题信息中。您需要创建两个电子邮件副本,一个纯文本和另一个HTML格式。

EDIT(仅限HTML格式的工作示例)

为了从网站(WWW)下载链接,这是一个http调用,需要首先分配服务器变量。

<?php
$to = $_POST['email1'];
$subject = "Test mail";
$server = "http://www.example.com";
$mlink = "download.php";

$message = "

<html>
<head>
<title></title>
</head>
<body>

<a href=\"$server/$mlink\">Download Link</a>

</body>
</html>

";

$from = "somewhere@somewhere.com";

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= "From:" . $from;

if( mail($to, $subject, $message, $headers) )
{
    echo ("<p>Mail Sent!</p>");
}
else
{
    echo ("<p>Mail could not be sent!</p>");
}
?>

原始答案

以下是一个示例(不适用于电子邮件目的,但仅限于网站):

<?php

$mlink = "download.php";

echo "<a href='$mlink'>Download Link</a>";

echo "<br>";

echo "<a href='$mlink'>$mlink</a>"; // displays file name

?>