Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP邮件空白电子邮件_Php_Email - Fatal编程技术网

PHP邮件空白电子邮件

PHP邮件空白电子邮件,php,email,Php,Email,我有一个不同的目的地循环发送几封电子邮件。当我一个接一个地发送邮件时(打破了“一个接一个”的限制),邮件发送成功。当我允许for each发送循环中的所有邮件时,有几封邮件是空白的 为什么尝试从for each循环发送多封电子邮件会导致电子邮件空白 foreach ($facturas as $factura) { $para = ""; $cabeceras = ""; $mensaje = ""; $título = ""; $query =

我有一个不同的目的地循环发送几封电子邮件。当我一个接一个地发送邮件时(打破了“一个接一个”的限制),邮件发送成功。当我允许for each发送循环中的所有邮件时,有几封邮件是空白的

为什么尝试从for each循环发送多封电子邮件会导致电子邮件空白

foreach ($facturas as $factura) {
    $para = "";
    $cabeceras = "";
    $mensaje = "";
    $título = "";

        $query = "SELECT *,u.email as email_usuario,u.nombre usu_nombre,u.apellido usu_apellido,e.nombre evento_nombre,
                    e.fecha evento_fecha,o.nombre op_nombre,c.nombre cat_nombre
                    FROM facturas 
                    INNER JOIN inscribite_eventos e ON e.codigo = fac_evento_id
                    INNER JOIN inscribite_opciones o ON o.id = fac_op_id AND o.evento = fac_evento_id
                    INNER JOIN inscribite_categorias c ON c.deevento = fac_evento_id AND c.codigo = fac_cat_id
                    INNER JOIN inscribite_usuarios u ON u.id = fac_usu_id
                    WHERE fac_id = {$factura['fac_id']}";
        $inscripcion = getRowQuery($query, $mysqli);

        if (!empty($mysqli->error)) {
            throw new Exception('Fallo trayendo datos' . $query . '<br>' . $mysqli->error);
        }

        //$para = ' '.$inscripcion['usu_nombre'].' '.$inscripcion['usu_apellido'].' <'.$inscripcion['email_usuario'].'>'; // con coma si son más
        $para = 'dedieu92g@gmail.com';
        // título
        $título = 'Confirmacion de Pago Inscribite Online';
        // Para enviar un correo HTML, debe establecerse la cabecera Content-type
        $cabeceras = 'MIME-Version: 1.0' . "\r\n";
        $cabeceras .= 'Content-type: text/html; charset=UTF-8' . "\r\n";

        // Cabeceras adicionales
        //$cabeceras .= 'To: Usuario <'.$inscripcion['email_usuario'].'>' . "\r\n";
        $cabeceras .= 'From: Recordatorio <info@inscribiteonline.com.ar>' . "\r\n";
        $cabeceras .= 'Cc: Recordatorio <info@inscribiteonline.com.ar>' . "\r\n";       

        if ($inscripcion['tipo'] == 'Deportivos') {
            require_once 'mail_deportivos.php';
        }
        elseif ($inscripcion['tipo'] == 'Servicios') {
            require_once 'mail_servicios.php';
        }
        elseif ($inscripcion['tipo'] == 'Productos') {
            require_once 'mail_productos.php';
        }
        elseif ($inscripcion['tipo'] == 'Capacitación') {
            require_once 'mail_capacitacion.php';
        }


        header('Content-Type: text/html; charset=UTF-8'); 

        // Enviarlo
        if(mail($para, $título, $mensaje, $cabeceras)){
            $query = "UPDATE facturas_pagas SET facp_avisado = 1 WHERE facp_fac_id = {$inscripcion['fac_id']}";
            runQuery($query,$mysqli);

            //echo $mensaje;
            //die('mando con factura'.$inscripcion['fac_id']);
        }
        sleep(2);
}
foreach($facturas作为$factura){
$para=”“;
$cabeceras=“”;
$mensaje=“”;
$título=“”;
$query=“SELECT*,u.email as email_usuario,u.nombre usu_nombre,u.apellido usu_apellido,e.nombre event_nombre,
e、 事件名称,o.nombre op_nombre,c.nombre cat_nombre
来自真实
e.codigo=fac\u evento\u id上的内部连接
o.id=fac\u op\u id和o.evento=fac\u evento\u id上的内部连接题o
在c.deevento=fac\u evento\u id和c.codigo=fac\u cat\u id上的内部联接题写c类
内部连接在u.id上的题字\u usuarios u=fac\u usu\u id
其中fac_id={$factura['fac_id']}”;
$inscripcion=getRowQuery($query,$mysqli);
如果(!empty($mysqli->error)){
抛出新异常('Fallo trayendo datos.$query.
。$mysqli->error); } //$para='.$inscripcion['usu nombre'.'.'.'.$inscripcion['usu apellido'.'.'”;//我的儿子玛斯 $para='1dedieu92g@gmail.com'; //蒂图罗 $título='Confirmation de Pago Inscribite Online'; //Para enviar un correo HTML,debe establecerse la cabecera内容类型 $cabeceras='MIME版本:1.0'。“\r\n”; $cabeceras.='内容类型:text/html;字符集=UTF-8'。“\r\n”; //阿迪西奥纳莱斯酒店 //$cabeceras.='To:Usuario'。“\r\n”; $cabeceras.='From:Recordatorio'。“\r\n”; $cabeceras.='Cc:Recordatorio'。“\r\n”; 如果($inscripcion['tipo']=='lakelivos'){ 需要一次“mail_lakelivos.php”; } elseif($inscripcion['tipo']=='Servicios'){ 需要一次“mail\u servicios.php”; } elseif($inscripcion['tipo']=='Productos'){ 需要一次“mail_productos.php”; } elseif($inscripcion['tipo']=='Capacación'){ 需要一次“mail_capacion.php”; } 标题('Content-Type:text/html;charset=UTF-8'); //埃维亚洛 如果(邮件($para,$título,$mensaje,$cabeceras)){ $query=“更新facturas_pagas SET facp_avisado=1,其中facp_fac_id={$inscripcion['fac_id']}”; runQuery($query$mysqli); //echo$mensaje; //死亡('mando con-actura'.$inscripcion['fac_id']); } 睡眠(2); }
谢谢andrewsi,你说得对。问题是,我在循环中使用了require_一次,当循环的下一个循环到达时,var mensaje不会再次填充,因为代码已经是必需的

我为include替换了require_一次,所有结果都很完美=)


非常感谢

您从未在循环开始时设置
$mensaje=“”
,并且从未为
$mensaje=“”
赋值。对不起,在每个require\u once邮件中:电容或产品或。。。然后我设置了mensaje变量奇怪的是,当我使用相同的代码一个接一个地运行时,所有的工作都非常完美,但是当我自由运行脚本时,就像时间一样。。。第一个总是先到第五个。。然后是11号。。多封邮件可能会延迟一段时间?@GDedieu-
require\u once()
将包含该文件一次。第二次通过循环时,代码将不会运行。您可能可以使用
include()
来代替,但是在不知道代码是什么的情况下,我不能确定。