使PHP变量具有html链接作为其值
我试图将一个html链接指定为php变量的值。就像这样,(我知道这是行不通的):使PHP变量具有html链接作为其值,php,html,email,hyperlink,Php,Html,Email,Hyperlink,我试图将一个html链接指定为php变量的值。就像这样,(我知道这是行不通的): $mlink=; 我正在尝试发送一封带有链接的电子邮件作为电子邮件的消息。我正在使用mail()来执行此操作。这是我发送邮件的脚本代码。这就是我想要使用$mlink变量的地方,该变量的值为html链接 <?php $to = $_POST['email1']; $subject = "Test mail"; $message = $mlink; $from = "somewhere@somewhere.co
$mlink=;
我正在尝试发送一封带有链接的电子邮件作为电子邮件的消息。我正在使用mail()来执行此操作。这是我发送邮件的脚本代码。这就是我想要使用$mlink变量的地方,该变量的值为html链接
<?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,但在变量赋值语句中使用echo时会出现错误。我尝试过其他一些方法,但它们要么给我一个错误,要么给我不想要的输出。我不知道如何使这项工作:(
非常感谢您的帮助。提前感谢您的启发!注意:
正如在另一个答案中的评论所指出的,我提供了一些补充信息,OP可以研究如何做到这一点,以及如何实现这一点
如何使用HTML和纯文本发送多部分电子邮件:
- 诀窍在于标题信息。你需要创建两份电子邮件副本,一份是纯文本,另一份是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>");
}
?>
原始答案 以下是一个示例(不用于发送电子邮件,但仅在网站上):
要发送HTML邮件,必须设置内容类型标题内容类型: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>");
}
?>
试试$mlink=“”;
或$mlink=“”;与其给一个人一条鱼吃,不如教他如何捕鱼。你在寻找“线”,你可以在这里了解他们:谢谢大家的回复!我刚参加完一个工作会议。我将很快测试我的项目,看看我是否正确地实施了解决方案。我还有很多东西要学。我非常感谢你们的帮助。我会在服务器上测试后尽快发回。我一定会研究你的p在所有发布的链接上,因为我希望能够捕捉到我自己的鱼!:)我正在使用xampp,并在没有邮件服务器的localhost上进行测试。它将“电子邮件”作为文本文件发送到xampp目录中的mailoutput文件夹,因此它将所有内容解释为严格的文本。我想这是我困惑自己的原因之一,当然还有我的无知!他应该使用一个MIME电子邮件类并发送一个包含HTML和文本的类。没有什么比只使用HTML的电子邮件更糟糕的了……他对字符串的概念缺乏理解是最大的问题,但这是一个正确的观点。他说他尝试了很多解决方案,可能这就是原因,不管怎么说,这个答案涵盖了两个问题,链接和内容-type@FaceOfJock无论是HTML格式还是纯文本格式,电子邮件中都需要包含http
。“电子邮件”不知道文件来自何处或驻留在何处,因此是一个服务器,即:http://www.example.com
需要定义。
<?php
$mlink = "download.php";
echo "<a href='$mlink'>Download Link</a>";
echo "<br>";
echo "<a href='$mlink'>$mlink</a>"; // displays file name
?>
<?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>");
}
?>