1

私は 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";

ただし、電子メールを受信する<br>と、HTML としてレンダリングされるのではなく、HTML からのタグが含まれています。

構文と何か関係がありますか? <br>上記のコードから、PHP でメールをフォーマットして、メールにタグがなくても新しい行から開始するにはどうすればよいですか?

質問を明確にしていない場合はお知らせください。

4

2 に答える 2

8

追加する必要があります

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

どこにいても、PHP 関数$headersの最後の引数として渡します。mail

于 2012-12-17T17:48:38.203 に答える
0

これが html メールであることをヘッダーで指定する必要があるため、プレーン テキストではなく html として解釈されます。

http://php.net/manual/en/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);

于 2012-12-17T17:58:25.833 に答える