PHP - Envió de correos con la función de PHP mail()

 
Vista:

Envió de correos con la función de PHP mail()

Publicado por namer (4 intervenciones) el 06/11/2018 16:20:44
Hola, estoy intentando hacer un script en PHP para enviar el mismo correo a unos aproximados diez mil destinatarios.

Mi idea es usar la función mail y no usar ninguna librería, imagino que tendré que deshabilitar el tiempo máximo de ejecución por script en el mismo script haciendo override, lo cual no tengo ni idea, agradecería no usar ningún php.ini

Conozco las limitaciones de la función mail, como por ejemplo que tiene que cerrar la sesión del servidor de correo en cada envío de este, aun así deseo usarla.

Intento que nadie pueda ver la dirección de correo de los demás destinatarios.
Aceptaría usar un bucle para las direcciones de correo y las cabeceras BCC, no quiero usar la cabecera TO


Dejo por aquí el código que llevo hecho (no es mucho, soy un poco torpe):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
 
ini_set( 'display_errors', 1 );
error_reporting( E_ALL );
 
$para = 'una@direccion.com' . ', ' . 'otra@direccion.mas' . ', ' . 'y@asi.muchasmas';
 
$asunto = 'Mi asunto';
 
$mensaje = '
<html>
<head>
<title></title>
</head>
<body>
<p>Esto es una prueba</p>
</body>
</html>
';
 
$cabeceras = 'MIME-Version: 1.0' . "\r\n";
$cabeceras .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
$cabeceras .= 'From: Yo <yo@domain.tld>' . "\r\n";
$cabeceras .= 'Bcc: Nombre Apellidos <cada@direccion.decorreo>' . "\r\n";
 
mail($para, $asunto, $mensaje, $cabeceras);
 
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Xavi
Val: 1.009
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Envió de correos con la función de PHP mail()

Publicado por Xavi (143 intervenciones) el 06/11/2018 17:50:19
Yo te recomiendo hacer un bucle y ir enviando uno a uno...

No soy un experto en estos temas, pero alguna vez que lo habia probado en muchos sitios me lo marcaba como spam al no haber en To el correo del destinatario.

Espero que te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Envió de correos con la función de PHP mail()

Publicado por namer (4 intervenciones) el 06/11/2018 21:46:43
Muchas gracias Xavi el problema es que no se como hacer eso, el bucle tendría que ser tanto para las cabeceras Bcc como para los destinatarios, algún ejemplo o ayuda, gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Xavi
Val: 1.009
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Envió de correos con la función de PHP mail()

Publicado por Xavi (143 intervenciones) el 07/11/2018 07:49:15
Si exacto, el bucle tiene que contener todo lo que puede variar... por ejemplo podria ser...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
 
ini_set( 'display_errors', 1 );
error_reporting( E_ALL );
 
$para = array('una@direccion.com','otra@direccion.mas','y@asi.muchasmas');
 
$asunto = 'Mi asunto';
 
$mensaje = '
<html>
<head>
<title></title>
</head>
<body>
<p>Esto es una prueba</p>
</body>
</html>
';
 
foreach($para as $to)
{
 
    $cabeceras = 'MIME-Version: 1.0' . "\r\n";
    $cabeceras .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
    $cabeceras .= 'From: Yo <yo@domain.tld>' . "\r\n";
    $cabeceras .= 'Reply-To: Yo <yo@domain.tld>' . "\r\n";
    $cabeceras .= 'X-Mailer: PHP/' . phpversion();
 
    mail($to, $asunto, $mensaje, $cabeceras);
}
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar