在PHP中包含期间发送电子邮件

时间:2015-06-30 20:03:12

标签: php

我尝试发送带有模板的电子邮件。我有几个模板(一个用于重置密码,一个用于升级帐户,...)。

所有这些模板都存储在mail目录中,如下所示:

<?php
    // Template to reset password
    $message = "Hello Mr, ...";
    $subject = "Your new password";
    $email = "mr@company.com";
?>

现在我有一个功能:

function sendMail($template, $USR_Id) {

    ob_start();
    include 'mail/'.$template.'.php';
    $message = ob_get_contents();
    ob_end_clean();

    // Start configuring the email
    $headers .= 'From: company <noreply@company.com>' . "\r\n";
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: text/html; charset=UTF-8\r\n";

    mail($email, $subject, $message, $headers); 
}

我的问题:

如何在我的模板文件中取回信息库(即:$subject$email)?

1 个答案:

答案 0 :(得分:0)

很高兴看到您使用my previously suggested设置。然而,该设置取决于echo,如果您不使用它,则可以使您的功能更简单。如果您的模板看起来像那样;你可以这样做:

function sendMail($template, $USR_Id) {

    include 'mail/'.$template.'.php';

    // Start configuring the email
    $headers .= 'From: company <noreply@company.com>' . "\r\n";
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: text/html; charset=UTF-8\r\n";

    mail($email, $subject, $message, $headers); 
}

如果您使用include / require;您可以使用多个文件中的所有变量