PHP - A veces no se envía un correo

 
Vista:
sin imagen de perfil
Val: 58
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

A veces no se envía un correo

Publicado por Marta (39 intervenciones) el 24/10/2021 13:28:09
Buenas, tenemos un aplicativo web, escrito en php, desde el cual se envían correos desde diferentes opciones, para ello usamos la clase phpMailer. Desde hace unos días nos encontramos que a veces envía el correo y otras veces, no. Es aleatorio.
Me explico: si refresco la web con Ctrl-F5, e intento enviar, funciona. Si lo vuelvo a intentar, ya no funciona. Espero 1-2 minutos, lo vuelvo a intentar y funciona, luego ya no, ....
Dado que desde hace mucho tiempo no se han hecho modificaciones en el aplicativo, he excluido que el problema fuera de él y me he centrado en phpMailer y con la configuración del correo smtp.
La cuenta usada para enviar es una cuenta de office365, y tenemos configurado el correo de la siguiente manera:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$mail = new PHPMailer();
        $mail->IsSMTP();
        $mail->SMTPAuth = true;
 
        $mail->From = $remite;
        $mail->SMTPSecure = 'tls';
        $mail->Host = "smtp.office365.com";
        $mail->Port = "587";
        $mail->Username = $remite;
        $mail->Password = $pw;
        $mail->CharSet = "UTF-8";
        $mail->IsHTML(true);
        $mail->FromName = "Empresa;
        $mail->Subject = $asunto;

Pruebas que he hecho:
- enviar desde otra cuenta del mismo dominio y da el mismo error
- enviar desde una cuenta gmail, funciona bien
- enviar desde otra cuenta de office 365, pero de otro dominio, funciona bien

Todo me da a pensar como si el problema estuviera en alguna limitación de envío de correo de las cuentas de la empresa.

Alguien me da su opinión? Muchas gracias.


PD. La versión de phpMailer es la 5.1. Conocemos que la última version es la 6.5.1, pero esta versión es compatible a partir de la versión 5.5 de PHP, y nuestro aplicativo aún está con PHP 4.7
Soy consciente que deberíamos actualizar el aplicativo a una versión php más moderna, pero no siempre es posible.
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 Isai
Val: 93
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

A veces no se envía un correo

Publicado por Isai (79 intervenciones) el 27/10/2021 20:14:42
Quizá se deba a la seguridad de la cuenta.
Otra quizá sea utilizar la función mail() a ver si con eso resuelves tu problema
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
sin imagen de perfil
Val: 58
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

A veces no se envía un correo

Publicado por Marta Blasco (39 intervenciones) el 27/10/2021 23:46:10
Gracias Isai, para salir del paso, he creado una cuenta gmail, pues llega final de mes, y se tienen que enviar facturas, nóminas, ....

Te cuento, contacté con Office365 e inicialmente me decían que era problema mío, ya que con outlook todo funciona bien y que no daban soporte con aplicativos externos, pero no estoy de acuerdo.
En mi aplicativo:
- si en lugar de poner un correo de la empresa y la respectiva contraseña, utilitzo la mía personal, también cuenta de Office365, funciona bien
- si uso una cuenta de gmail, funciona bien
En un aplicativo, de facturación, externo:
- tenemos el mismo error desde el mismo día
Hasta aquí me lo jugaría todo diciendo que el problema está en el dominio, su configuración del smtp, ....

Pero monté un script con la misma configuración:
- en Windows 10 funciona perfectamente
- en el servidor propio, Windows Server 2016, es donde tengo el problema.

Leí lo de la función mail, pero no vi como usuar TLS ni autenticar. Me equivoco?

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 Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

A veces no se envía un correo

Publicado por Mauro (1036 intervenciones) el 28/10/2021 18:12:29
Hola Marta:

En general te recomiendo que no utilices cuentas personales para realizar envíos masivos. Esas cuentas no están pensadas para ese tipo de usos y puedes generarte problemas como caer en spam.

Lo más conveniente es utilizar algún servicio externo como MailGun, SendGrid o Amazon Ses que, además de hacer el envío, te darán estadísticas de uso y reportes completos de errores.

Por otro lado, te sugiero, en lugar de PHPMailer, usar el mailer de Symfony.

Consúltame cualquier duda.

Saludos,
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