0

ねえ、ここにこのコードがあります。私がやろうとしているのは、このhtmlファイルの内容をメールに含めることですが、機能していないようです:( mimeタイプは大丈夫ですか?phpには何が含まれていませんか?を探しています?

        $to = "email@domainname.com";
        $subject = "Late Notice";
        $message .= include("latenotice.html");
        $from = "myfriend@hisdomainname.com";
        $headers = "From:" . $from;
        $headers .= "MIME-Version: 1.0\r\n";
        $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
        mail($to,$subject,$message,$headers);
4

4 に答える 4

3

include文字列を返しません。ファイルを実行します。つまり、HTMLが画面にエコーされます。

file_get_contents代わりに試してください。

$message .= file_get_contents("latenotice.html");

注:これにより、ファイル内のPHPコードは実行されません。必要に応じて、出力バッファリングを使用できます。

ob_start();
include("latenotice.html");
$message .= ob_get_clean();
于 2012-04-20T18:34:02.470 に答える
1

インクルードの後に​​何かを「返す」場合は、インクルードするファイルの最後にリターンを置く必要があります。

file.phpのように

 return "My String";

Email.php

$var = include('file.php'); // "My String"

あなたの場合はfile_get_contentsを使用してください。

于 2012-04-20T18:31:56.430 に答える
1

includeインクルードされたファイルreturnが何かである場合にのみ値に評価されます-latenotice.htmlおそらくコンテンツが含まれているだけです。私はあなたがファイルを読みたいと思います:

$message .= file_get_contents("latenotice.html");
于 2012-04-20T18:32:57.417 に答える
1

Includeは文字列を返しません。スクリプトに実行可能コードが含まれます。

あなたはおそらく探していfile_get_contentsます:

$message .= file_get_contents('latenotice.html');

また、 Mail_MimeのようなPEARライブラリを確認する必要があります。添付ファイルとMIMEタイプは、正しく理解するのに簡単ではありません。

于 2012-04-20T18:33:40.227 に答える