在php邮件正文中仅打印链接名称而不是整个href

时间:2014-05-05 14:14:31

标签: php email yii phpmailer

发送电子邮件时,我想显示超链接值而不是整个href。 这是我的代码

if ($model->update(array('status'))) 
{
    $body.="Your account has now been verified. Please, login and spiff up your profile and take a look at our ,";
    $body.="<a href='https://contactcenters.com/page/58/?Advertisewithus'>sponsorship program</a>";
    $body.="to start building your business!";
    $email=$model->email;
    mail($email,$subject,$body,$headers);
    //----------------------------------------------------------//
    $this->redirect($model->user_id);
}

我想发送赞助程序而不是邮件正文中的整个href。但每当我使用此邮件发送电子邮件时,都会打印<a href='https://contactcenters.com/page/58/?Advertisewithus'>sponsorship program</a>";而不是Sposorship Program

我试图在单引号中添加双引号,但它不起作用。

3 个答案:

答案 0 :(得分:1)

您需要添加到标题:

$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";

如果你还没有这样做的话。

此外,您必须确保正确设置了您的电子邮件客户端。例如,在Mozilla Thunderbird中,您可以将其设置为仅显示TXT,然后它可以对内容执行一些更改。否则,您可以正确发送电子邮件,但结果是您不希望

答案 1 :(得分:1)

基于http://php.net/manual/en/function.mail.php

您需要通知邮件引擎,您发送的内容比文本更复杂

// 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";

// Mail it
mail($to, $subject, $message, $headers);

答案 2 :(得分:1)

您将以纯文本形式发送邮件,因此无法识别html。将这些添加到$ he​​aders:

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

请参阅http://www.php.net/manual/en/function.mail.php