file_get_contents in php 没有返回电子邮件 ID,为什么?

file_get_contents in php is not returning E-mail id, why?

实际上我正在从 php 发送电子邮件。当我对来自外部文件的电子邮件正文使用 file_get_contents() 时,它不返回电子邮件 ID。相反,它返回的是“[email protected]”的电子邮件 ID。

这是我用 file_get_contents():

调用文件的代码
$params = 'for=team&name='.urlencode($name).'&email='.urlencode($email).'&phone='.urlencode($phone).'&company='.urlencode($company).'&looking_for='.$looking_for.'&country='.urlencode($country).'&source_page='.urlencode($source_page);
$team_msg = file_get_contents(get_template_directory_uri().'/mail-template/contact_us_email_temp.php?'.$params);
$headers[] = "MIME-Version: 1.0" . "\r\n";
$headers[] .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers[] .= 'From: Someone <someone@domainname.com>';
$to = 'myselft@domainname.com';
$team_subject = 'email subject';
wp_mail($to, $team_subject, $team_msg, $headers );

这是从函数调用的 'contact_us_email_temp.php':

$message = "<table border='0'><tbody>
            <tr><td colspan='2'>Users Detail:</td></tr>
            <tr>
                <td><b>Name</b></td>
                <td>".$_GET['name']."</td>
            </tr>
            <tr>
                <td><b>Official Email</b></td>
                <td>".$_GET['email']."</td>
            </tr>
            <tr>
                <td><b>Company</b></td>
                <td>".$_GET['company']."</td>
            </tr>
            <tr>
                <td><b>Mobile Number</b></td>
                <td>".$_GET['phone']."</td>
            </tr>
            <tr>
                <td><b>Looking For</b></td>
                <td>".$_GET['looking_for']."</td>
            </tr>
            <tr>
                <td><b>Country</b></td>
                <td>".$_GET['country']."</td>
            </tr>
            <tr>
                <td><b>Source Page</b></td>
                <td>".$_GET['source_page']."</td></tr>
            <tr>
            </tbody>
            </table>";
echo $message;

我不确定函数有什么问题。

谢谢

file_get_contents() 不像 HTTP 请求那样工作。您正在将 ACTUAL 文件作为字符串加载,并且未执行任何代码。因此,当您现在发送邮件时,查看者将看到例如 $_GET['name']。您要做的是从 contact_us_email_temp.php 文件中创建一个函数,并将 GET 参数用作函数参数。

function getEmail($name, $email, $company, $phone, $looking_for, $country, $source_page) {
$message = "
<table border='0'><tbody>

<tr><td colspan='2'>Users Detail:</td></tr>
        <tr>
            <td><b>Name</b></td>
            <td>".$name."</td>
        </tr>
        <tr>
            <td><b>Official Email</b></td>
            <td>".$email."</td>
        </tr>
        <tr>
            <td><b>Company</b></td>
            <td>".$company."</td>
        </tr>
        <tr>
            <td><b>Mobile Number</b></td>
            <td>".$phone."</td>
        </tr>
        <tr>
            <td><b>Looking For</b></td>
            <td>".$looking_for."</td>
        </tr>
        <tr>
            <td><b>Country</b></td>
            <td>".$country."</td>
        </tr>
        <tr>
            <td><b>Source Page</b></td>
            <td>".$source_page."</td></tr>
        <tr>
        </tbody>
        </table>";
return $message;
}

在您的主脚本中需要此脚本和 运行 函数而不是 file_get_contents