php在邮件中无法正常工作()

时间:2017-02-03 12:19:17

标签: php html email

我正在尝试将信息作为邮件发送给管理员 下面是邮件代码,我正在使用另一个文件中的file_get_contents()来阅读它。

<!doctype html>
<?php
require_once("mysqlconnect.php");
session_start();
?>

<html>
   <head>
   <link rel="stylesheet" href="css/mail.css">
   </head>
   <body>
    <table border="2">
    <?php
        $q="select * from profile where mobile=2147483647";
        $result=mysqli_query($conn,$q);
         while($row = mysqli_fetch_assoc($result)) 
         {
             foreach($row as $key=>$value)
             {
                 if($key=="Email")
                    echo"<tr><th>$key</th><td><a href='mailto:$value;           target='_blank'>$value</td></tr>";
                else
                    echo"<tr><th>".str_replace('_',' ',$key)."</th>         <td>$value</td></tr>";
             }
         }
    ?>

    </table>
</body>
</html>
<?php
  session_destroy();
?>  

邮件中此代码的结果是PHP代码本身..

$value) { if($key=="Email") echo"
$key    $value
"; else echo"
".str_replace('_',' ',$key)."   $value
"; } } ?>

2 个答案:

答案 0 :(得分:2)

file_get_contents将文件内容作为字符串返回。它不执行其中的代码。

要使用php文件中的HTML,您可以使用php的缓冲区。

像这样:

ob_start();

include('file_path_here');

$HTML = ob_get_clean();

这会将文件的输出存储在$HTML变量中。

答案 1 :(得分:1)

file_get_contents字面上将字符串作为字符串读入。如果您正在使用该方法读取PHP文件,它将直接返回代码,这就是您所获得的。

如果要将HTML作为电子邮件发送,请使用类似模板系统(sitecrafting.com/blog/top-5-php-template-engines)或构建字符串并将其传递到mail()函数。

PHP documentation: file_get_contents