2014-10-03 41 views
-1

以下是与发送邮件相关的PHP代码,除非链接不显示,否则此代码运行良好。它像一个正常的文本。此外,还会在代码中显示中断标签。我认为错误是在消息字符串中。我可以知道如何解决这个问题。如何在字符串中包含href链接?

if(isset($_POST['submit'])){ 
    $from = "#"; // sender 
    $to=$email; 
    $subject="Email verification"; 
    $message='Hi, <br/> <br/> We need to make sure you are human. Please verify your email and get started using your Website account. <br/> <br/> <a href="'.$base_url.'activation/'.$activation.'">'.$base_url.'activation/'.$activation.'</a>'; 

    $message = wordwrap($message,50); 
    mail($to,$subject,$message,"From: $from\n"); 
+1

你必须用'text/html'发送一个头文件'Content-Type'。以便客户知道他们必须以HTML格式阅读电子邮件。 mail()的第四个参数为您提供发送头文件的可能性。 – TiMESPLiNTER 2014-10-03 14:29:27

回答

3

您发送的电子邮件为纯文本,而不是HTML。因此,HTML只显示并不呈现。

$from = "#"; // sender 
$to  = $email; 
$subject = "Email verification"; 
$message = 'Hi, <br/> <br/> We need to make sure you are human. Please verify your email and get started using your Website account. <br/> <br/> <a href="'.$base_url.'activation/'.$activation.'">'.$base_url.'activation/'.$activation.'</a>'; 
$msg  = wordwrap($message,50); 
$headers = "From: " . $from . "\r\n"; 
$headers .= "Reply-To: ". $from . "\r\n"; 
$headers .= "MIME-Version: 1.0\r\n"; 
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; 

mail($to,$subject,$message,$headers); 
+0

我只是准备打出一个,但你已经覆盖它;)OP的良好的手中。 – 2014-10-03 14:31:11

+1

谁降低了这个?这是正确的。 – 2014-10-03 14:33:09

+2

可能有人试图搞笑。我会高兴。 – Daan 2014-10-03 14:33:28