如何发送带有在php中获取参数的页面的邮件

时间:2014-01-14 22:10:09

标签: php email parameters

我正在做一个代码来向用户发送邮件(来自数据库)。

正文(mesagge)是一个名为 ContentEnvio.php 的页面,它接收用户的ID并显示如下:

enter image description here

发送邮件的脚本有以下代码:

<?php


    $controller = 1;
    require_once "../controller/usuariosController.php";

    for ( $x=0; $x<count($Empleados); $x++) {

        $idusuario = $Empleados[$x]['id'];

        $empleado_env = utf8_encode($Empleados[$x]['usuario']);
        $empleado = explode(",", $empleado_env);

        $asunto = "ACTIVIDADES PENDIENTES - " .$empleado[1];


        $postdata = http_build_query(
            array(
                'idusuario' => $idusuario
            )
        );

        $opts = array('http' =>
            array(
                'method'  => 'GET',
                'header'  => 'Content-type: application/x-www-form-urlencoded',
                'content' => $postdata
            )
        );

        $context  = stream_context_create($opts);


        // CONFIGURACION:
        $maildestinatario = $Empleados[$x]['correo'];
        $de = "AppsLovers - Project Manager";
        $desde = "pm@appslovers.com";


        $cabecera = 'From: '.$de . "\r\n" .
            'Reply-To: '.$desde . "\r\n" .
            'X-Mailer: PHP/' . phpversion();
        $cabecera.= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

        mail($maildestinatario, $asunto, file_get_contents("../test/ContentEnvio.php", false, $context), $cabecera);


    }

?>

它没有显示任何错误。我在我的电子邮件中测试过并收到了收到的邮件,但......内容如下:

enter image description here

我是否必须添加任何其他语法?

1 个答案:

答案 0 :(得分:1)

您可以尝试包含php文件,只收集它生成的html。类似于:

ob_start(); // Start 

require_once('../test/ContentEnvio.php');

$html = ob_get_clean(); // Get it to the variable

mail($maildestinatario, $asunto, $html, $cabecera);

在“发件人”标题中,您应将名称放在电子邮件之前......例如:

$de = "AppsLovers - Project Manager <noreply@appslovers.com>";