2014-03-18 102 views
-1

我想用一些HTML在php中發送電子郵件。 在我的電子郵件,它給我像,php電子郵件中的HTML標記

Hello <strong>,</strong><br><br> 

它沒有從根本上解析HTML代碼。它不是效果,而是打印html標籤。

這是我的電子郵件功能:

mail("$user_email","ESubject","$message","From: Name"); 

消息變量:

$message = "Hello <strong>,</strong><br><br> 
     To verify your email and complete your registration please click on the link below: <br /><br /> 
     <a href='<?=$link?>'>VERIFY ACCOUNT</a>"; 
+0

如果您想發送除最簡單的郵件以外的任何內容,最好選擇收取Swift Mailer或PHP Mailer等圖書館。它看起來很簡單,但一旦你進入多部分郵件,附件和類似的世界,你會發現自己寫了很多你真正不需要的代碼 - 然後找到很多你的郵件被抓到垃圾郵件文件夾中。 –

回答

4

你需要設置你的頭的Content type : text/html

// 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()

mail($to, $subject, $message, $headers); //<--- Like that. 

注: 如果打算髮送HTML或其他複雜的郵件,建議使用PEAR包»PEAR::Mail_Mime

Source : PHP.net


EDIT :

只要做到這一點這樣

$message = "Hello <strong>,</strong><br><br> 
     To verify your email and complete your registration please click on the link below: <br /><br /> 
     <a href=$link>VERIFY ACCOUNT</a>"; 
+0

是否需要在郵件功能中傳遞標題變量 –

+0

是否當然。你必須。查看我提供的鏈接。它給你一個清晰的理解。 _Especially看到的例子#4_ –

+1

好..得到它..謝謝.. –

2

爲了更好的理解,請參考下面的腳本:

<?php 
    $to = "[email protected], [email protected]"; 
    $subject = "HTML email"; 

    $message = " 
    <html> 
    <head> 
    <title>HTML email</title> 
    </head> 
    <body>Hello <strong>,</strong><br><br> 
    </body> 
    </html> 
    "; 

    // Always set content-type when sending HTML email 
    $headers = "MIME-Version: 1.0" . "\r\n"; 
    $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; 

    // More headers 
    $headers .= 'From: <[email protected]>' . "\r\n"; 
    $headers .= 'Cc: [email protected]' . "\r\n"; 

    mail($to,$subject,$message,$headers); 
    ?>