0

以下のphpコードを介してメールを送信しています。これにより、メールテンプレートがユーザーのメールアドレスに送信されます。ただし、すべての HTML タグが表示され、有効になっていない状態で電子メールが送信されます。

$fh = fopen('templates/customer.eml','r');

        $emailContents = fread($fh, filesize('templates/customer.eml'));
        $emailContents = str_replace(":name:", $person->first . " " . $person->last, $emailContents);
        $emailContents = str_replace(":meeting_name:", $meeting->name, $emailContents);
        $emailContents = str_replace(":chair:", $chair->first . " " . $chair->last, $emailContents);

        fclose($fh);

        $header = "FROM: vra@vodafone.com\r\n";
        $header = "MIME-Version: 1.0\r\n";
        $header.="Content-type: text/html; charset: utf8\r\n";
        mail($person->email , "Meeting Request", $emailContents, "FROM: user@domain.com");

以下は、コンテンツに使用している電子メール テンプレート ファイルです。

<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    </head>
    <body>
        <p>
            Dear :name:,<br />
            You have been invited to <em>:meeting_name:</em> chaired by :chair:.
        </p>

        <p>
            Main text of the email will go here<sup>*</sup>.
        </p>
        <p>
            Thankfully
        </p>
        <p>
            User
        </p>
    </body>
</html>
4

1 に答える 1

1

ヘッダーをメール機能に渡していません。試す:

$header = "FROM: vra@vodafone.com\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .="Content-type: text/html; charset: utf8\r\n";
mail($person->email , "Meeting Request", $emailContents, $header);

代わりにこれらのヘッダーを試してください

$header  = 'MIME-Version: 1.0' . "\r\n";
$header .= 'Content-type: text/html; charset=utf8' . "\r\n";
$header .= 'From: vra@vodafone.com' . "\r\n";
mail($person->email , "Meeting Request", $emailContents, $header);
于 2013-05-09T10:20:32.333 に答える