簡體   English   中英

使用PHP和html格式的電子郵件確認電子郵件

[英]Email confirmation email with PHP, html formatting

我不熟悉PHP,也無法真正找到解決我問題的具體方法。 我們將印度的一個項目外包給了一個后端,他們的部分任務是創建一個帶有電子郵件確認的登錄名。

這是代碼的一部分:

$sql     = "SELECT * FROM `users` WHERE `email`='$name' AND `status`= 1";
$result  = $db->select($sql);
$num_row = $db->numrows($sql);
if($num_row > 0) {
    $row= $db->fetcharray($sql);

    $Password   =   $row['password'];
    $body       = "Dear ".$row['fname']." <br> <br>";
    $body       .= "Your password is : ".$Password." <br> <br>";
    $body       .= "Please login with below link : <br/>";
    $body       .= SITE_URL;

    $email           = $row['email'];
    $messageSubject  = "Forgot Password : Quicksl";
    $messageBody     = $body;   

    sendContactMail(SENDER_NAME,SENDER_EMAIL,$messageBody,$email,$messageSubject);
    echo "matched";

但是,當我們收到電子郵件時,它仍然包含HTML中的<br>標記,而不是將其呈現為HTML。

它與語法有關系嗎? 如何從上面的代碼用PHP格式化電子郵件,以便電子郵件中沒有<br>標記,而是從新行開始?

如果我的問題不清楚,請告訴我。

您需要添加

$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

並將$headers作為PHP mail函數的最后一個參數傳遞,無論在哪里。

您需要在標題中指定這是html電子郵件,因此它將被解釋為html而不是純文本。

http://php.net/manual/zh/function.mail.php

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$Password   =   $row['password'];
$body       = "Dear ".$row['fname']." <br> <br>";
$body       .= "Your password is : ".$Password." <br> <br>";
$body       .= "Please login with below link : <br/>";
$body       .= SITE_URL;
$email           = $row['email'];
$messageSubject  = "Forgot Password : Quicksl";
$messageBody     = $body;   

sendContactMail(SENDER_NAME,SENDER_EMAIL,$messageBody,$email,$messageSubject,$headers);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM