PHP - Enviar multiples correos desde un txt con php

 
Vista:

Enviar multiples correos desde un txt con php

Publicado por Jorge (1 intervención) el 21/07/2020 04:05:48
Hola, estoy teniendo problemas con este código para enviar varios correos:

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
33
34
35
36
37
38
39
40
41
42
43
require 'phpmailer/src/Exception.php';
require 'phpmailer/src/PHPMailer.php';
require 'phpmailer/src/SMTP.php';
 
 
$mail = new PHPMailer();
$mail->ContentType = $_POST['ishtml']?'text/html':'text/plain';
$mail->Host = 'localhost';
 
 
if ($_POST['usesmtp'] == 1) {
    $mail->Mailer = 'smtp';
    if ($_POST['smtpserver']) {
        $mail->Host = $_POST['smtpserver'];
    }
    if ($_POST['smtpuser']) {
        $mail->SMTPAuth = true;
        $mail->Username = $_POST['smtpuser'];
        $mail->Password = $_POST['smtppass'];
    }
}
 
$mail->From = $_POST['mailfrom'];
//$mail->AddReplyTo($_POST['mailfrom'], $_POST['mailname']); //Esto no hace falta
$mail->FromName = $_POST['mailname'];
$mail->Subject = $_POST['mailsubject'];
$mail->AltBody = '';
 
 
if (is_uploaded_file($_FILES['fileattach']['tmp_name'])) {
    $mail->AddAttachment($_FILES['fileattach']['tmp_name'], $_FILES['fileattach']['name']);
}
 
 
foreach($dirs as $dir) {
    $data = preg_split(',', $dir);
    $email = trim($data[0]);
    $name = (count($data) > 1)?trim($data[1]):'';
    $mail->Body = str_replace('%NameTo%', $name, $body);
    $mail->AddAddress($email, $name);
    $mail->Send();
    echo ' - Correo enviado a <b>' . $email . '</b> [' . $name . ']<br />';
    $mail->ClearAddresses();

---

Es algo sencillo que estoy probando. Un formulario en el que paso los datos para el correo (From, asunto)... el body y las direcciones las tomo de un .txt

Pero no me funciona, hay algún error a simple vista? Gracias de antemano por el tiempo....
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

Enviar multiples correos desde un txt con php

Publicado por Carlos (1 intervención) el 21/07/2020 04:24:54
Se puede resolver cambiando:

1
$data = preg_split(',', $dir);

por

1
$data = explode(',', $dir);
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